[英]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()
調用失敗。 它們的格式正確。
應該是: 最后兩行缺少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.