我使用preg_replace自動在段落中插入HTML鏈接。帶網址問題的preg_replace
這是我目前使用:
$pattern = "~(?!(?:[^<\[]+[>\]]|[^>\]]+<\/a>))(".preg_quote($find_keyword, '/').")\b~msUi";
$replacement = "<a href=\"http://$kw_url\" title=\"$find_keyword\">\$0</a>";
$article_content = preg_replace($pattern, $replacement, stripslashes($article_content), 1, $added);
它的偉大工程,除1個問題:
不匹配,如果關鍵字是替換URL。
如果:$find_keyword="http://www.mysite.com/"
即使它在內容中也不會出現任何匹配。
我已經嘗試使用preg_quote轉義$ find_keyword,它沒有任何區別。
任何正則表達式專家都知道一個解決方案嗎?謝謝。
我已經嘗試過逃跑斜槓運行find_keyword,它沒有做任何的不同。 – Ricky 2011-03-28 19:43:05
如果您通過preg_quote()傳遞$ find_keyword會發生什麼情況(您應該將所有輸入都轉換爲正則表達式)? – 2011-03-28 19:45:21
您是否想過鏈接到http://example.com/的用戶'? – Incognito 2011-03-28 19:46:01