在php中url處理函數有很多,如有:http_build_query,compact,urldecode、urlencode,parse_url,rawurldecode等等函數。
http_build_query
(PHP 5) http_build_query — 生成 URL-encode 之后的請求字符串,實例代碼如下:
$data=array('foo'=>'bar',
'baz'=>'boom',
'cow'=>'milk',
'php'=>'hypertext?processor');echohttp_build_query($data);//?foo=bar&baz=boom&cow=milk&php=hypertext+processor
?>
compact
array compact ( mixed $varname [, mixed $... ] )
(PHP 4,PHP 5) compact — 建立一個數組,包括變量名和它們的值,實例代碼如下:
$city="San?Francisco";
$state="CA";
$event="SIGGRAPH";
$result=?compact("city","state","event");
//?array('city'=>'"San?Francisco"','state'=>'CA','event'?=>?"SIGGRAPH")
?>
-------------
$qs=compact('province','city','name');
foreach($qsas$key=>$value){
if(!$value){
unset($qs[$key]);
}
}
$url='something/search/?'.http_build_query($qs)?;
urldecode、urlencode
下面來看介紹與實例。
parse_url($str url);
把url轉換成數組,實例代碼如下:
*/
print_r(parse_url("www.vcphp.com"));//解析url并輸出返回數組
/*
url 專用格式字符串還原成普通字符串。
語法: string rawurldecode(string str);
返回值: 字符串
函數種類: 編碼處理
內容說明
本函數將字符串解碼,從 url 的字符串專用格式解成普通字符串,詳細的編碼解碼信息及規格文件可以參考 rfc 1738,實例代碼如下:
*/
echorawurldecode('foo%20bar%40baz');//輸出foo?bar@baz
/*
string?rawurlencode?(?string?str?)
返回字符串,此字符串中除了 -_,之外的所有非字母數字字符都將被替換成百分號(%)后跟兩位十六進制數,這是在 rfc 1738 中描述的編碼,是為了保護原義字符以免其被解釋為特殊的 url 定界符,同時保護 url 格式以免其被傳輸媒體(像一些郵件系統)使用字符轉換時弄亂,例如,如果你想在 ftp 的 url 中包含密碼,實例代碼如下:
*/
$str="http://www.vcphp.com";???????//定義字符串
$result=rawurlencode($str);//對指定字符串編碼
echo$result;
/*
urldecode()
url解碼
*///輸出結果
$str="http%3a%2f%2fwww.vcphp.com";
$result=urldecode($str);
echo$result;
/*
urlencode()
url編碼
*/
$str="http://www.vcphp.net";???????//定義字符串
$result=urlencode($str);//對指定字符串編碼
echo$result;//輸出結果
(責任編輯:admin)