【发布时间】:2012-12-29 19:53:06
【问题描述】:
我用 PHP 编码已经有一段时间了,我一直在读到你应该只在必要时使用 preg_match 和 preg_replace,因为它会降低性能。为什么是这样?在一个文件中使用 20 preg_matches 而不是使用另一个 PHP 函数真的很糟糕吗?
【问题讨论】:
-
必须编译正则表达式,解析字符串等等......使用正则表达式没有错,但是很多人通过做
preg_match('/foo/', $bar)而不是strpos('foo', $bar) !== false等愚蠢的事情来滥用它们跨度> -
答案是:这取决于您想到的“其他 PHP 函数”。有些情况可能更快,有些则不然。此外,速度并不总是最重要的因素。无论速度如何,正则表达式都可能是该工作的最佳工具,或者即使它运行得更快,它也可能是该工作的错误工具。
-
就我而言,这非常有用,因为我在渲染页面之前使用了大约 30+ preg_replace()。我设法缓存了我的页面,所以我不必总是迭代。
标签: php regex optimization preg-replace preg-match