PHP-str_替换未按预期工作

PHP-str_替换未按预期工作,php,drupal-6,str-replace,Php,Drupal 6,Str Replace,我有一个名为path的变量,它是一个url,例如 www.google.co.uk%3Fq%3Dde 我正在运行2 str_replace以正确格式化 $path = str_replace('%3F', '?', $path); $path = str_replace ('%3D', '=', $path); 然后我正在打印输出,但“%3F”和“%3D”仍在打印中。当我使用这两个str_替换时,这确实起作用 $path = str_replace('%3F', '?');

我有一个名为path的变量,它是一个url,例如

www.google.co.uk%3Fq%3Dde
我正在运行2 str_replace以正确格式化

  $path = str_replace('%3F', '?', $path); 
  $path = str_replace ('%3D', '=', $path);
然后我正在打印输出,但“%3F”和“%3D”仍在打印中。当我使用这两个str_替换时,这确实起作用

  $path = str_replace('%3F', '?'); 
  $path = str_replace ('%3D', '=');
但是当我使用这些时,Drupal6会抛出错误


我对php非常陌生,因此可能缺少一些简单的东西

不要为此使用
str\u replace()
。改用,因为这是其设计目的

echo urldecode("www.google.co.uk%3Fq%3Dde");
// www.google.co.uk?q=de

如果看不到其余的代码,就很难说出前两个
str_replace()
调用失败的原因。它们的格式正确。

不要为此使用
str\u replace()
。改用,因为这是其设计目的

echo urldecode("www.google.co.uk%3Fq%3Dde");
// www.google.co.uk?q=de
如果看不到其余的代码,就很难说出前两个
str_replace()
调用失败的原因。它们的格式正确。

使用:

$path = urldecode($url);
()

使用:

$path = urldecode($url);

()

应该是:最后两行的stru replace中缺少$path:


$path = "www.google.co.uk%3Fq%3Dde";
$path = str_replace('%3F', '?', $path); 
$path = str_replace ('%3D', '=', $path);

应该是:最后两行的stru replace中缺少$path:


$path = "www.google.co.uk%3Fq%3Dde";
$path = str_replace('%3F', '?', $path); 
$path = str_replace ('%3D', '=', $path);

使用PHP的urldecode函数

    $url = "www.google.co.uk%3Fq%3Dde";
    $path = urldecode($url);

使用PHP的urldecode函数

    $url = "www.google.co.uk%3Fq%3Dde";
    $path = urldecode($url);

函数str_replace至少需要3个参数。所以str_替换('%3F','?');无法工作,但我不知道为什么其他stru_replace不工作。这对我有效,您看到了什么错误?您的示例不完整/错误,无法复制,请参阅:-仔细检查
$path
中真正包含的内容。-此外,如果您因为出现错误而提出问题,请指定错误。函数str_replace至少需要3个参数。所以str_替换('%3F','?');无法工作,但我不知道为什么其他stru_replace不工作。这对我有效,您看到了什么错误?您的示例不完整/错误,无法复制,请参阅:-仔细检查
$path
中真正包含的内容。-另外,如果你问了一个问题,因为你得到了错误,请指定错误。谢谢你,Michael,不幸的是,它仍然不能工作,但我认为它超出了这个问题的范围。您使用str_replace肯定显示了我的逻辑中的缺陷!谢谢你,Michael,不幸的是,它还不能正常工作,但我认为它超出了这个问题的范围。您使用str_replace肯定显示了我的逻辑中的缺陷!