簡體   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