2010-06-14 63 views
5

我正在寻找并从另一个字符串中替换已知的字符串。我应该使用str_replace()还是preg_replace()?的字符串替换将类似于[+qStr+]东西,[+bqID+],或[+aID+],它会被搜索类似这样的代码块:PHP,删除已知字符串的最佳选择是什么?

<li> [+qStr+] 
    <ol class="mcAlpha"> 
     <li><input type="radio" name="[+bqID+]" id="[+bqID+]_[+aID+]" value="[+aID+]" /><label for="[+bqID+]_[+aID+]">[+aStr+]</label></li> 
    </ol> 
</li> 

我会从一个MySQL的结果来替换字符串查询,并一次执行此操作或类似操作,最多可执行200次。哪个函数str_replace()或preg_replace()是最简单和/或最快捷的方法。

回答

8

如果您的字符串是固定的,并且您不需要正则表达式,则始终使用str_replace,因为它会更快。另外请注意,您应该忘记ereg_replace,并始终使用preg_replace,因为前者已被弃用。

2

如果您知道该字符串并且不需要正则表达式,请使用str_replace()。它更快,因为如果使用正则表达式,它不需要尝试。

PS:你应该使用的preg_replace()而不是ereg_replace(正则表达式),只是为了未来......

+0

我刚刚看到ereg_replace()已折旧。 – 2010-06-14 14:54:33

0

好ereg_replace()已过时的PHP 5.3.0,所以我不会”建议使用它。

str_replace()或preg_replace()将是逻辑替代方案。 个人而言,我会使用str_replace()进行简单的搜索/替换; preg_replace用于任何比简单匹配更复杂的事情

相关问题