0
我想要做一些简单的但我失败: 我想在PHP中使用preg_replace使关键字成为一个链接,但我不想插入它在标题中。preg替换如果单词不在标题内
我实际的preg_replace:
$data_replace = '<a href="'.$link.'">$1</a>';
$word_to_replace = "keyword";
$data_source = "<h1>keyword</h1><p>keyword</p>"
$pattern = "/\\b(?!<h[0-6]*\>)(.*?)(" . trim($word_to_replace) . ")(.*?)(?!<\/h[0-6]>)\\b/";
preg_replace($pattern, $data_replace, $data_source, 1);
而且我想:
<h1>keyword</h1><p><a href="http://...">keyword</a></p>
现在,我的输出提供:
<h1><a href="http://...">keyword</a></h1><p>keyword</p>
如果我错了,我正则表达式模式? 谢谢!
你[不应该使用正则表达式来解析HTML](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454),改为使用[DOM解析器](http://www.php.net/manual/en/class.domdocument.php)。 – Sam
我知道,但我想知道我的知识答案:) –