urlencode() 和 rawurlencode()
区别:urlencode()会把空格编码成加号 "+" , rawurlencode()则把空格编码成 "%20" 。传送门:PHP中文URL编解码(urlencode()rawurlencode()
code:
<?php
$url = '\\测 试/test.php';
$url_length = strlen($url);
# var_dump($url_length); //14
for ($i=0; $i < $url_length; $i++) {
//取消对斜杠符号编码
if ($url[$i] !== '/' && $url[$i] !== '\\') {
/*--第一种编码--*/
//urlencode() 会把空格编码成加号
# urlencode($url[$i])
//替换掉加号
# $url_code = str_replace('+', '%20', $url_code);
/*--第二种编码--*/
//也可用 rawurlencode() 来编码
$url_code = rawurlencode($url[$i]);
} else {
$url_code = $url[$i];
}
echo $url_code;
}
?>
echo: