2011-03-02 86 views
1

什麼是替換字符串像這樣使用的preg_replace最好的辦法刪除特定鏈接:使用PHP的preg_replace

<a class="left" href="javascript:goBack()">Back</a> 

這是出現在許多地方,一個確切的字符串,我需要它了。我已嘗試preg_replace('#<a class="left" href="javascript:goBack()">Back</a>#','',$str);

preg_replace('#<a class="left" href="javascript:goBack\\(\\)">Back<\\/a>#','',$str)但沒有喜悅。

任何幫助感激地收到。

回答

3

如果您知道要匹配的確切字符串,則絕對不需要使用preg_replace。使用str_replace

$str=str_replace('<a class="left" href="javascript:goBack()">Back</a>','', $str); 
+0

+1擊敗我吧! – jeroen 2011-03-02 23:25:10

+0

大家好,我的印象是str_replace可能會被淘汰,這是不是這種情況? – 2011-03-03 11:17:30

+0

@Laam Bailey完全沒有。有人完全誤解了一些東西。 str_replace是一種核心方法,幾乎​​可以永久保留。谷歌codesearch單獨可以找到使用它的280000個腳本,因此刪除它將導致比從php3更新到php6更大的不兼容性。 – phihag 2011-03-03 11:24:37

0

如果有一個理由去使用的,而不是preg_replacestr_replace,試試這個:

preg_replace('#\Q<a class="left" href="javascript:goBack()">Back</a>\E#','',$str); 

這將導致所有的元字符(如字符串:-)在())被當作普通字符沒有的特殊含義。