以下是我的代码:
preg_replace("/(test)/i", "<strong>$1</strong>", $text);
这是一个示例字符串:
"<a href="www.website.com/search/%23test">#test</a>"
我想捕获第二个“测试”,但不是第一个“测试”。
答案 0 :(得分:2)
你可以避免匹配尖括号内的东西(至少,如果文本中没有文字的尖括号),并带有负前瞻:
preg_replace("/test(?![^<>]*>)/i", "<strong>$0</strong>", $text);