QueryList::html的内存溢出问题
//采集规则
$reg = [
'detail_link' => ['.deanarticec>.deanarticer>.deanarticername>a', 'href'],
//采集文章标题
'title' => ['.deanarticec>.deanarticer>.deanarticername>a', 'text'],
'image' => ['.deanarticec>.deanarticel>.atc>a>img', 'src'],
'brief' => ['.deanarticer>.deanarticersummary', 'text', '-a -.content_copyright -script'],
];
$rang = '.deanartice>ul>li';
$data = QueryList::html(file_get_contents('test.html'))->rules($reg)->range($rang)->queryData(function ($item) {
if ($item['image'] != "" && $item['image'] != "template/dean_hotspot_141011/deancss/nopic.jpg") {
$item['image'] = 'http://ecigm.com' . $item['image'];
}
// $item['title'] = mb_convert_encoding($item['title'], 'utf-8', 'gbk');
// $item['new_brief'] = mb_convert_encoding(strip_tags($item['brief']), 'HTML-ENTITIES');
return $item;
});
这段代码是可以直接运行的,执行php artisan catch:name
执行会遇上Segmentation fault: 11
这个C++内存问题,原因是无限的递归导致爆栈而出现的报错。
其中$html
的内容可以打开http://ecigm.com/bk/dt/index....,来进行调试。
关于内存缘故请看:http://www.laruence.com/2011/...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论