萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php中url處理函數總結

php中url處理函數總結

在php中url處理函數有很多,如有:http_build_query,compact,urldecode、urlencode,parse_url,rawurldecode等等函數。

http_build_query

(PHP 5) http_build_query — 生成 URL-encode 之後的請求字符串

 代碼如下 復制代碼

<?php
$data = array('foo'=>'bar',
'baz'=>'boom',
'cow'=>'milk',
'php'=>'hypertext processor');echo http_build_query($data); // foo=bar&baz=boom&cow=milk&php=hypertext+processor
?>


compact

array compact ( mixed $varname [, mixed $... ] )
(PHP 4, PHP 5)  compact — 建立一個數組,包括變量名和它們的值

 代碼如下 復制代碼

<?php
$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($qs as $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.111cn.net"));       //解析url並輸出返回數組

/*

url 專用格式字符串還原成普通字符串。

語法: string rawurldecode(string str);

返回值: 字符串

函數種類: 編碼處理
 
內容說明


本函數將字符串解碼。從 url 的字符串專用格式解成普通字符串。詳細的編碼解碼信息及規格文件可以參考 rfc 1738。

 代碼如下 復制代碼

*/

echo rawurldecode('foo%20bar%40baz');      //輸出foo bar@baz
/*

string rawurlencode ( string str )


返回字符串,此字符串中除了 -_. 之外的所有非字母數字字符都將被替換成百分號(%)後跟兩位十六進制數。這是在 rfc 1738 中描述的編碼,是為了保護原義字符以免其被解釋為特殊的 url 定界符,同時保護 url 格式以免其被傳輸媒體(像一些郵件系統)使用字符轉換時弄亂。例如,如果你想在 ftp 的 url 中包含密碼:

 

 代碼如下 復制代碼

*/
$str="http://www.111cn.net";       //定義字符串
$result=rawurlencode($str);      //對指定字符串編碼
echo $result;

/*
urldecode()
url解碼
*/         //輸出結果

$str="http%3a%2f%2fwww.111cn.net";
$result=urldecode($str);
echo $result;

/*
urlencode()
url編碼

*/

$str="http://www.111cn.net";       //定義字符串
$result=urlencode($str);       //對指定字符串編碼
echo $result;         //輸出結果

copyright © 萬盛學電腦網 all rights reserved