8

我正在尝试从 url 解码的字符串中删除所有反斜杠,但它输出的是 \ 而不是输出删除了 \ 的 url 解码的字符串。

请你能告诉我我的问题。

<?php
$json = $_GET['ingredients'];
echo urldecode(str_replace($json,$json, "\\"));
?>
4

5 回答 5

13

您想使用stripslashes(),因为这正是它的用途。看起来也更短:

echo urldecode(stripslashes($json));

但是,您应该考虑禁用 magic_quotes

于 2011-05-08T22:36:55.923 回答
3

试试这个,你的 str_replace 参数不正确。

<?php
$json = $_GET['ingredients'];
echo urldecode(str_replace("\\","",$json));
?>
于 2011-05-08T22:35:34.887 回答
3

根据 php.net 的str_replace 文档,第一个参数是您要搜索的内容,第二个是您要替换的内容,第三个是您要搜索的字符串。所以,您正在寻找这个:

str_replace("\\","", $json)
于 2011-05-08T22:36:01.917 回答
1

你错误地使用 str_replace

str_replace("\\","", $json)
于 2011-05-08T22:35:15.340 回答
0

这是 100% 正确的。

$attribution = str_ireplace('\r\n', '', urldecode($attribution));
于 2012-12-10T16:22:21.393 回答