我有这样的字符串数据,解析句子用PHP preg_replace_callback并忽略内部括号
一个大的有蹄哺乳动物(马属caballus)自古以来,用于骑行和绘画或运载货物时使用 。
需要被转换成这样:
甲largehoofedmammal(马属caballus)having一个short - haired涂层,长鬃,和一个长尾巴,domesticatedsinceancienttimes和用于riding和drawing或carryingloads。
这些是要求:
- 词语与5+的长度必须被封装在一个href标记的内部。 (已解决)
- 括号内的词必须忽略。 这是在正则表达式的缺失要求
目前,下面的代码是原来的字符串转换成本(在括号内的数据没有被忽略,因为它应该是):
甲largehoofedmammal(Equuscaballus)having一个short - haired涂层,长鬃,和一个长尾巴,domesticatedsinceancienttimes和用于riding和drawing或carryingloads。
这是我当前的代码:
$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);
我如何能实现在同一个正则表达式的第二个要求是什么? 谢谢!
我使用的捕捉组版本。工作很好,谢谢! – andufo 2014-10-27 22:27:05