繁体   English   中英

PHP-str_replace无法正常工作

[英]PHP - str_replace not working as expected

我有一个称为path的变量,例如url

www.google.co.uk%3Fq%3Dde

我正在通过2 str_replace运行以正确格式化。

  $path = str_replace('%3F', '?', $path); 
  $path = str_replace ('%3D', '=', $path);

然后,我正在打印输出,但是“ %3F ”和“ %3D ”仍在打印。 当我使用这两个str_replace时,这确实起作用

  $path = str_replace('%3F', '?'); 
  $path = str_replace ('%3D', '=');

但是当我使用drupal 6时会引发错误。

我对php很陌生,所以可能缺少一些简单的东西

请勿为此使用str_replace() 请改用urldecode() ,因为这是它的设计目的。

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

没有看到其余的代码,很难说为什么前两个str_replace()调用失败。 它们的格式正确。

采用:

$path = urldecode($url);

http://php.net/manual/zh/function.urldecode.php

应该是: 最后两行缺少str_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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM