URLencode数字?
问题描述:
我想编码这个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
如何将字母数字字符编码为目标格式?
从答案我已经创造了这个功能
/**
* 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);
}
答
urlencode()来以这种方式工作。它不需要转换数字。如果你想转换一切,你可以自己做。尝试
$s = '广东路20号外滩5号7楼,近中山东一路';
for($i = 0; $i < strlen($s); $i++)
{
echo '%' . dechex(ord($s[$i]));
}
+1。您不需要urlencode数字和大多数其他ascii字符。 – Thilo 2012-02-09 07:23:30
感谢这个解决方案,但正如我所说的,在这种情况下,字母数字需要进行编码,因为我符合需要此API的API。 – Moak 2012-02-09 07:33:01