这是我的代码:
$long = str_repeat('a very long string text', 100); // try changing 100 to 5000
$str = <<<STR
<abc>a short string text</abc>
<abc>$long</abc>
STR;
preg_match_all('@<abc>([^<>]+)</abc>@sU', $str, $matched);
print_r($matched);
并且它完全按预期工作.但是,将100次重复更改为5000次后,运行
print_r($matched);
而且您只会得到短字符串出现的结果.
我的问题是如何使preg_match或preg_match_all与大型字符串文本(最大1MB或更大)一起使用?
解决方法:
您可能需要增加PCRE限制.
http://www.php.net/manual/en/pcre.configuration.php
编辑:但是,正如ThiefMaster所说,不要这样做.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。