php的正则匹配方法preg_match_all问题

用preg_match_all匹配时,时不时匹配失败,郁闷了很久,无意中在网上找到答案:

用正则从字符串中提取内容失败,反复检查字符串和正则表达式,都没有问题。又写了小脚本测试,还没有问题,回到代码中调试,又失败了。
字符串比较长,因此怀疑是不是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

你可能感兴趣的:(PHP,preg_match_all)