如何在条款的上下文中链接到我创建的类别页面?

时间:2015-12-25 17:15:50

标签: php hyperlink preg-replace

我是一篇文章 我希望文章中的任何地方都能将我的文字分类,这个词会自动链接到该类别 我是通过preg_replace这样做的

$text = preg_replace('(hello|word1|word2)', '<a href="'.$link1.'">word</a>', $text);
$text = preg_replace('(word3|hello word|word4)', '<a href="'.$link2.'">word</a>', $text);

但是当'&#34; hello world&#34;存在于纸上,&#34;你好&#34;是&#34; $ link1&#34;的链接和&#34;字&#34;无法链接

1 个答案:

答案 0 :(得分:0)

您可以使用否定前瞻(?! )功能在第一个正则表达式中不匹配hello字符串后跟world字符串,如下例所示:

$text = preg_replace('(hello(?! world)|word1|word2)', '<a href="'.$link1.'">word</a>', $text);
$text = preg_replace('(word3|hello world|word4)', '<a href="'.$link2.'">word</a>', $text);

PS:请注意您的第二个正则表达式中存在拼写错误:hello word而不是hello world

参考文献:

http://www.regular-expressions.info/lookaround.html http://php.net/manual/en/reference.pcre.pattern.syntax.php