2011-03-02 83 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); 

这将导致所有的元字符(如字符串:-)在())被当作普通字符没有的特殊含义。