5

我正在寻找和替换另一个字符串中的已知字符串。我应该使用 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() 将是最简单和/或最快的方法。

4

3 回答 3

8

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

于 2010-06-14T14:50:50.690 回答
2

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

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

于 2010-06-14T14:52:28.380 回答
0

自 PHP 5.3.0 起,ereg_replace() 已被弃用,所以我不建议使用它。

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

于 2010-06-14T14:56:07.467 回答