为了好玩,我正在做一个小刮板,当我从某些网站抓取一些图片urls时,它们回来的时候真的很奇怪。
例如:
刮过的网址:
https:\/\/cdn1.vox-cdn.com\/thumbor\/zN9XawbQJgFPkuAcA2JEGgqApm8=\/cdn0.vox-cdn.com\/uploads\/chorus_asset\/file\/3700712\/tomorrowland54fdf04f23efb_2040.0.jpg所需网址:
https://cdn1.vox-cdn.com/thumbor/zN9XawbQJgFPkuAcA2JEGgqApm8=/cdn0.vox-cdn.com/uploads/chorus_asset/file/3700712/tomorrowland54fdf04f23efb_2040.0.jpg它添加了不必要的反斜杠,这样当您跟随它时,url就不能工作,它会给出一个错误。
我试着使用条纹斜杠函数,因为这似乎是它的目的,但它没有起作用。url只是保持不变。
(编辑)下面是我用来获取urls的代码:
function GetImages($page_dom) {
$found_links = [];
$images = $page_dom->getElementsByTagName('img');
foreach ($images as $image) {
$img_src = $image->getAttribute('src');
$found_links[] = $img_src;
}
return $found_links;
}发布于 2015-05-19 01:10:08
当您调用json_encode时,使用JSON_UNESCAPED_SLASHES选项来防止它转义斜杠。
但这不应该是必要的。如果要输出JSON,则应该将其发送到解析JSON的程序,JSON解析器将将\/转换为/。
发布于 2015-05-19 00:53:19
如果这是您期望的唯一模式,您可以使用str_replace('\/', '/', $url),您也可以使用str_replace(array('\/', '\\'), array('/', '\'), $url)来获取更多的模式。
https://stackoverflow.com/questions/30315017
复制相似问题