preg_match长字符串匹配失败问题解决
3553 点击·0 回帖
![]() | ![]() | |
![]() | 今天在查一个问题,用正则从字符串中提取内容失败,反复检查字符串和正则表达式,都没有问题。又写了小脚本测试,还没有问题,回到代码中调试,又失败了。 字符串比较长,因此怀疑是不是preg_match也有字符串长度限制,果然! preg_match、preg_match_all都会有这种情况。 解决方法: 1、ini_set(‘pcre.backtrack_limit’, 1000000); //默认的只有100000 2、修改php.ini 的pcre.backtrack_limit参数,使之支持更大的字符串。加入配置:pcre.backtrack_limit=-1 | |
![]() | ![]() |