如何在长字符串上执行preg_replace

时间:2011-01-25 07:38:56

标签: preg-replace

我希望能够找到并替换长行javascript代码。代码中还有很多/和\。

这甚至可能吗?

3 个答案:

答案 0 :(得分:2)

您可以手动修改限制,以便PHP允许您处理非常长的字符串。 在调用preg_replace之前将以下行放在某处。

ini_set('pcre.backtrack_limit', 99999999999);

更好的是,如果可以修改你的php.ini文件,你可以从那里更改pcre.backtrack_limit的值,这样新的限制将全局可用。

答案 1 :(得分:1)

这取决于多长时间 - 有一个长度上限(请参阅http://nz.php.net/manual/en/function.preg-last-error.php了解如何检测到它)。

如果需要,可以使用preg_quote转义进入模式的变量,它会处理/和\字符。

答案 2 :(得分:1)

PHP字符串函数有大小限制,遗憾的是没有指定这些限制...你必须将整个sting分成较小字符串的块...然后运行preg_replace 在每个字符串上......然后将这些字符串组合在一起......这就是我所做的。