2012-02-09 55 views
0

我想編碼這個URLencode數字?

廣東路20號外灘5號7樓,近中山東一路 到這一點:

%e5%b9%bf%e4%b8%9c%e8%b7%af%32%30%e5%8f%b7%e5%a4%96%e6%bb%a9%35%e5%8f%b7%37%e6%a5%bc%ef%bc%8c%e8%bf%91%e4%b8%ad%e5%b1%b1%e4%b8%9c%e4%b8%80%e8%b7%af
然而urlencode()似乎沒有編碼的數字,我需要在20

--------------------------v
%E5%B9%BF%E4%B8%9C%E8%B7%AF20%E5%8F%B7%E5%A4%96%E6%BB%A95%E5%8F%B77%E6%A5%BC%EF%BC%8C%E8%BF%91%E4%B8%AD%E5%B1%B1%E4%B8%9C%E4%B8%80%E8%B7%AF

使用斷API

如何將字母數字字符編碼爲目標格式?

從答案我已經創造了這個功能

/** 
* urlencodes complete string, including alphanumeric characters 
* @param string $string the string to encode 
*/ 
function urlencode_all($string){ 
    $chars = array(); 
    for($i = 0; $i < strlen($string); $i++){ 
     $chars[] = '%'.dechex(ord($string[$i])); 
    } 
    return implode('', $chars); 
} 

回答

2

urlencode()來以這種方式工作。它不需要轉換數字。如果你想轉換一切,你可以自己做。嘗試

$s = '廣東路20號外灘5號7樓,近中山東一路'; 
for($i = 0; $i < strlen($s); $i++) 
{ 
    echo '%' . dechex(ord($s[$i])); 
} 

http://codepad.org/bvRU8gQv

+0

+1。您不需要urlencode數字和大多數其他ascii字符。 – Thilo 2012-02-09 07:23:30

+0

感謝這個解決方案,但正如我所說的,在這種情況下,字母數字需要進行編碼,因爲我符合需要此API的API。 – Moak 2012-02-09 07:33:01