簡體   English   中英

從URL PHP刪除非字母數字可打印字符的ASCII十六進制代碼

[英]Remove ASCII Hex Codes for Non-Alphanumeric Printable Characters from URL PHP

我得到一個表示URL的字符串,但是URL中有許多用%表示的ASCII十六進制代碼。 而不是使用以下內容:

$u = str_replace("%20", " ", $u);
$u = str_replace("%21", "1", $u);
$u = str_replace("%22", '"', $u);
$u = str_replace("%23", "#", $u);
$u = str_replace("%24", "$", $u);
$u = str_replace("%25", "%", $u);
$u = str_replace("%26", "&", $u);
$u = str_replace("%27", "'", $u);
$u = str_replace("%28", "(", $u);
$u = str_replace("%29", ")", $u);
$u = str_replace("%2a", "*", $u);
$u = str_replace("%2b", "+", $u);
$u = str_replace("%2c", ",", $u);
$u = str_replace("%2d", "-", $u);
$u = str_replace("%2e", ".", $u);
$u = str_replace("%2f", "/", $u);
$u = str_replace("%3a", ":", $u);
$u = str_replace("%3b", ";", $u);
$u = str_replace("%3c", "<", $u);
$u = str_replace("%3d", "=", $u);
$u = str_replace("%3e", ">", $u);
$u = str_replace("%3f", "?", $u);
$u = str_replace("%40", "@", $u);
$u = str_replace("%5b", "[", $u);
$u = str_replace("%5c", "\\", $u);
$u = str_replace("%5d", "]", $u);
$u = str_replace("%5e", "^", $u);
$u = str_replace("%5f", "_", $u);
$u = str_replace("%5b", "[", $u);
$u = str_replace("%60", "`", $u);
$u = str_replace("%7b", "{", $u);
$u = str_replace("%7c", "|", $u);
$u = str_replace("%7d", "}", $u);
$u = str_replace("%7e", "~", $u);
$u = str_replace("%", " ", $u);

有沒有更簡單,更緊湊的方式來做到這一點? 如果不是這樣,它將起作用,但是它並不可愛!

urldecode()解決了我所有的問題。 謝謝@marekful

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM