Sco*_*ott 3 php string strip backslash
为了好玩,我正在开发一个小型刮刀,当我从某些网站获取一些图片网址时,它们回来的时候真的很奇怪。
例如:
抓取的网址:
https:\/\/cdn1.vox-cdn.com\/thumbor\/zN9XawbQJgFPkuAcA2JEGgqApm8=\/cdn0.vox-cdn.com\/uploads\/chorus_asset\/file\/3700712\/tomorrowland54fdf04f23efb_2040.0.jpg
Run Code Online (Sandbox Code Playgroud)
想要的网址:
https://cdn1.vox-cdn.com/thumbor/zN9XawbQJgFPkuAcA2JEGgqApm8=/cdn0.vox-cdn.com/uploads/chorus_asset/file/3700712/tomorrowland54fdf04f23efb_2040.0.jpg
Run Code Online (Sandbox Code Playgroud)
它添加了不必要的反斜杠,所以当你跟随它时 url 不起作用,它会给出一个错误。
我尝试使用 stripslashes 函数,因为这似乎是它的目的,但它没有用。网址保持不变。
(编辑)这是我用来抓取网址的代码:
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;
}
Run Code Online (Sandbox Code Playgroud)
当您调用 时json_encode,请使用该JSON_UNESCAPED_SLASHES选项来防止它转义斜杠。
但这不应该真的是必要的。如果您要输出 JSON,则应该将其发送到解析 JSON 的程序,JSON 解析器将转换\/为/.