php正则匹配不到超长字符串结果的问题

两次遇到,第一次用非贪婪模式正则处理了不是特别长的字符串匹配 ,第二次直接怎么完善正则也获得不了结果了。
因为匹配的字符串太大了,1M多,一个base64的大图。

<?php

    $html = '太长了,放附件demo';
    $img_pattern = '/<img(.*?)src="(.+?)"/i';
    preg_match_all($img_pattern,$html,$match2);
    print_r($match2);

处理方法是pcre.backtrack_limit这个参数。

#加这一行设定参数
ini_set('pcre.backtrack_limit', 999999999);
$html = '太长了,放附件demo';
$img_pattern = '/<img(.*?)src="(.+?)"/i';
preg_match_all($img_pattern,$html,$match2);
print_r($match2);

标签: 正则表达式

非特殊说明,本博所有文章均为博主原创。

最新文章

发表评论