我有一个字符串(里面可以有 html 代码),我正在尝试查找一些单词并替换它们。我不太擅长正则表达式,并且在编写我需要的正则表达式时遇到了困难。最大的问题是字符串和标签都是 utf-8。
我已经设法找到一些对我有部分帮助的正则表达式模式:
/$search_tag/is
此模式将匹配我要查找的所有单词,但如果在我的原始字符串中该单词是一个链接,那么我不希望它匹配,所以这无济于事。
\'(?!((<.*?)|(<a.*?)))(\b'.$search_tag.'\b)(?!(([^<>]*?)>)|([^>]*?</a>))\'is
这第二种模式解决了我之前的问题,但只是部分解决了,如果我正在尝试的单词是标记为链接的单词的“组合”的一部分,那么这个特定的单词不匹配,但是如果只有单词被标记为链接然后我仍然得到一场比赛,我不想发生这种情况。
希望我能很好地描述这个问题以获得一些帮助。如果需要,我可以提供更多细节甚至一些例子。