我有一个PHP脚本,它向market.android.com/mylibrary提交curl请求并检索页面,然后使用regex解析它。在下面的第一个链接中,您可以看到在运行时它会输出与“底部的每个正则表达式测试”对应的“出错了但出错了”。现在,如果您对第74行进行注释并取消注释75,它将起作用。如果您想查看卷曲返回的内容,只需在底部添加echo($result);
。
请务必在顶部填写您的Google信用卡并在您的网络服务器中启用curl - > Example file 1
现在在第二个例子中,我只从curl结果中获取相关部分,并手动转义所有撇号。我在底部放置了相同的正则表达式字符串,它完全按预期工作。
是否有人能够看到导致问题的原因?我尝试过使用preg_last_error()但它只返回0
。谢谢!
答案 0 :(得分:0)
由于评论中提供的提示,我得到了这个工作。这是解决方案:
$doc = new DOMDocument();
@$doc->loadHTML($result);
$images = $doc->getElementsByTagName('img');
$apps = array();
foreach($images as $img) {
$alt = $img->getAttribute('alt');
if($alt != '') {
$src = $img->getAttribute('src');
if(strpos($src, 'data:image/gif;base64') !== false) {
$src = $img->getAttribute('data-lazysrc');
}
$apps[$alt] = $src;
}
}
return $apps;