代码之家  ›  专栏  ›  技术社区  ›  Brook Julias

php,删除已知字符串的更好选择是什么?

  •  5
  • Brook Julias  · 技术社区  · 15 年前

    我正在寻找并替换另一个字符串中的已知字符串。我应该使用str ou replace()还是preg ou 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 回复  |  直到 15 年前
        1
  •  8
  •   Palantir    15 年前

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

        2
  •  2
  •   oezi    15 年前

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

    PS: 对于regex,您应该使用preg_replace()而不是ereg_replace(),只是为了将来……

        3
  •  0
  •   Mark Baker    15 年前

    从php 5.3.0开始,ereg_replace()已经被弃用了,所以我不建议使用它。

    str_replace()或preg_replace()是逻辑上的备选方案。 我个人会使用str_replace()进行简单的搜索/替换;preg_replace用于任何比简单匹配更复杂的内容。