PHP,删除已知字符串的最佳选择是什么?

时间:2010-06-14 14:49:43

标签: php regex str-replace

我希望从另一个字符串中搜索并替换已知字符串。我应该使用str_replace()还是preg_replace()?要替换的字符串类似于[+qStr+][+bqID+][+aID+],它将在类似于此的代码块中搜索:

<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()是最简单和/或最快的方法。

3 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

从PHP 5.3.0开始,不推荐使用ereg_replace(),因此我不建议使用它。

str_replace()或preg_replace()将是合乎逻辑的选择。 我个人使用str_replace()进行简单的搜索/替换; preg_replace用于比简单匹配更复杂的东西