在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.companysz.com")); //解析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.companysz.com"; //定義字符串
- $result=rawurlencode($str); //對指定字符串編碼
- echo $result;
- /*
- urldecode()
- url解碼
- */ //輸出結果
- $str="http%3a%2f%2fwww.companysz.com";
- $result=urldecode($str);
- echo $result;
- /*
urlencode()
url編碼
- */
- $str="http://www.Vevb.net"; //定義字符串
- $result=urlencode($str); //對指定字符串編碼
- echo $result; //輸出結果
新聞熱點
疑難解答