“\/”文本显示在我的 JSON 链接值中 [重复]

Posted

技术标签:

【中文标题】“\\/”文本显示在我的 JSON 链接值中 [重复]【英文标题】:"\/" text shows up within my JSON link values [duplicate]“\/”文本显示在我的 JSON 链接值中 [重复] 【发布时间】:2018-12-13 05:21:00 【问题描述】:

我的数据库包含指向在其结构中正确显示的图像的链接。当我运行我的 php 代码时,输​​出的 JSON 值是无法加载的相同图像链接,因为链接一直像这样输出:

https:\/\/i.ebayimg.com\/00\/s\/NDQwWDgwMA==\/z\/ViAAAOSwhmtbN7fe\/$_59.JPG\r\n

即使数据库是这样显示的:

https://i.ebayimg.com/00/s/NDQwWDgwMA==/z/ViAAAOSwhmtbN7fe/$_59.JPG

我的 PHP 代码有问题吗?

【问题讨论】:

在 PHP \` is "escape". Meaning don't read \` 中作为特殊字符,只需将其读取为字符串 `\`,不附加任何操作。编辑:看到在 SO 上写它甚至是不可能的。这就是那个角色的特殊性 我在这里看不到 json ... 不显示一些代码怎么样? 【参考方案1】:

你可以在php中使用字符串替换函数来删除(\)

$your_string = str_replace("\\", "", $your_string);

【讨论】:

这可能有效,但不是正确的方法。如果字符串中有 Windows 路径怎么办? 请发一个例子 这是一个 Json 字符串。它可以在同一个字符串中有多个值。只需自己创建一个,一个带有网络链接的项目和一个带有 Windows 路径的项目 ?我认为您正在获取此路径 file://c:/【参考方案2】:

简单使用stripslashes()

首先使用str_replace()从链接/url中删除\r\n,然后应用stripslashes()

$link = 'https:\/\/i.ebayimg.com\/00\/s\/NDQwWDgwMA==\/z\/ViAAAOSwhmtbN7fe\/$_59.JPG\r\n';
$link = stripslashes( str_replace("\\r\\n", '', $link) );
echo $link;

【讨论】:

不起作用3v4l.org/1G1Qr @Andreas 我已经更新了我的答案。 3v4l.org/DW1Au

以上是关于“\/”文本显示在我的 JSON 链接值中 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 SQL 的重复搜索中排除其他值中的值

从组合框的值中获取选项的文本[重复]

将超文本链接放入javadoc中的外部互联网站点[重复]

用javascript填充textarea,添加换行符[重复]

如何在perl中删除哈希值中的重复值?

React Native - 来自 JSON 的地图数据可以显示为文本,但不能显示为地图标记坐标