PHP从url中删除奇怪的反斜杠

标签 php string strip backslash

我正在开发一个小爬虫来取乐,当我从某些网站抓取一些图片网址时,它们返回的结果真的很奇怪。

例如:

抓取的网址:

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 不起作用,它会给出错误。

我尝试使用 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;
    }

最佳答案

当您调用 json_encode 时,使用 JSON_UNESCAPED_SLASHES 选项来防止它转义斜杠。

但这不应该真的是必要的。如果要输出 JSON,则应将其发送到解析 JSON 的程序,JSON 解析器会将 \/ 转换为 /

关于PHP从url中删除奇怪的反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30315017/

相关文章:

python - 将括号中的所有字符存储在字符串中

c - 无法解释这个处理指针的 C 示例

python - 如何在 python 中使用 strip()

c# - Kendo TabStrip Ajax (LoadContentForm) 内的 Kendo Grid Ajax 不显示内容

php - Laravel - 不支持驱动程序 []

php - jquery无法处理返回值是php代码

php - 带括号和不带括号的实例化有区别吗?

php - 如何使用SQL比较多个字段?

java - 如何生成随机字符串?

android - PagerTabStrip 和 PagerTitleStrip 的区别?