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
我知道,但我想知道我的知識答案:) –