正则表达式问题:将字符串中的utf-8字匹配为非链接

时间:2012-05-11 18:18:32

标签: php regex

我有一个字符串(里面可以有html代码),我试图找到一些单词并替换它们。我不是很擅长正则表达式而且我遇到了编写我需要的正则表达式的困难。最大的问题是字符串和标签都是utf-8。

我已经设法找到一些部分帮助我的正则表达式模式:

  1. /$search_tag/is
  2. 这个模式会匹配我想要查找的所有单词但是如果在我的原始字符串中这个单词是一个链接,那么我不希望这个匹配,所以这没有帮助。

    1. \'(?!((<.*?)|(<a.*?)))(\b'.$search_tag.'\b)(?!(([^<>]*?)>)|([^>]*?</a>))\'is
    2. 这第二种模式解决了我以前只有部分,但如果我正在尝试的单词是被标记为链接的单词“组合”的一部分,则该特定单词不匹配,但是如果只有单词是标记为链接然后我仍然得到一个匹配,我不想发生。

      希望我能够很好地描述这个问题以获得一些帮助。如果需要,我可以提供更多细节甚至一些例子。

0 个答案:

没有答案