【发布时间】:2014-12-23 05:22:53
【问题描述】:
我有这个字符串,
一种大型有蹄哺乳动物(Equus caballus),有短毛, 长鬃毛,长尾,自古驯化,用 用于骑行、牵引或搬运负载。
需要转换成这个:
一件largehoofedmammal(Equus caballus)having一件short-haired外套,长鬃毛和长尾巴,domesticatedsince@98765493 @times 并用于riding 和drawing 或carrying loads。
这些是要求:
- 长度为 5+ 的单词必须封装在一个 href 标记内。 (这已经解决了)
- 括号内的单词必须被忽略。 这是正则表达式中缺少的要求
目前,下面的代码正在将原始字符串转换为这个(括号内的数据没有被忽略):
一件largehoofedmammal(Equuscaballus)having一件short-haired外套,长鬃毛和长尾巴,domesticated@ 987654344@ ancient times 并用于riding 和drawing 或carrying loads。
这是我当前的代码:
$result = preg_replace_callback('/\b[\p{L}\p{M}]{5,}\b/u', create_function(
'$matches',
'return "<a href=\"http://words.com/".strtolower($matches[0])."\">$matches[0]</a>";'
), $data);
如何在同一个正则表达式中实现第二个要求? 谢谢!
【问题讨论】:
标签: php preg-replace preg-replace-callback