簡介:處理 URL 字串:編碼、解碼與解析。以下天涯進行詳細的舉例說明。
base64_encode — 使用 MIME base64 對資料進行編碼
base64_encode() returns 使用 base64 對 data 進行編碼。設計此種編碼是為了使二進位資料可以透過非純 8-bit 的傳輸層傳輸,例如電子郵件的主體。
Base64-encoded 資料要比原始資料多佔用 33% 左右的空間。
$str = 'This is an encoded string';
// VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw== VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw== VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw== VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw== VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw== VGhpcyBpcyBhbiBlb米
base64_decode — 對使用MIME base64 編碼的數據進行解碼
base64_decode() 對encoded_data 解碼,傳回原始數據,失敗則回傳FALSE。傳回的資料可能是二進制的。
$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
// This is an encoded string
get_headers — 取得伺服器回應一個HTTP 請求所傳送的所有標頭
get_headers() 傳回一個數組,包含有伺服器回應一個HTTP 請求所傳送的標頭。如果失敗則傳回 FALSE 並發出一條 E_WARNING 等級的錯誤訊息。
如果將可選的 format 參數設為 1,則 get_headers() 會解析對應的資訊並設定陣列的鍵名。
print_r($phpha2);
?>
//輸出如下:
Array
(
[0] => HTTP/1.1 200 OK
[1] => Server: nginx/1.2.2
[2] => Date: Tue, 06 Nov 2012 10:17:59 GMT
[3] => Content-Type: text/html; charset=UTF -8
[4] => Connection: close
[5] => X-Powered-By: PHP/5.3.8
[6] => X-Pingback: http://blog.phpha.com/xmlrpc. php
[7] => Via: 10.67.15.26
[8] => Set-Cookie: saeut=124.127.138.35.1352197078737175; path=/138.35.1352197078737175; path=//httpage=3015; /blog.phpha.com
Array
(
[0] => HTTP/1.1 200 OK
[Server] => nginx/1.2.2
[Date] => Tue, 06 Nov 2012 10:17:59 G [Content-Type] => text/html; charset=UTF-8
[Connection] => close
[X-Powered-By] => PHP/5.3.8
[X-Pingback] => http:// blog.phpha.com/xmlrpc.php
[Via] => 10.67.15.21
[Set-Cookie] => saeut=124.127.138.35.1352197079055460;
get_meta_tags — 從一個檔案中提取所有的 meta 標籤 content 屬性,傳回一個陣列
【天涯註】可以想像的到,某些網站可以方便的用此函數進行網站SEO資訊的擷取。
//天涯PHP部落格http://blog.phpha.com
$phpha = get_meta_tags('http://blog.phpha.com');
print_meta_tags('http://blog.phpha.com');
print_meta_tags('http://blog.phpha.com');
print_r($phpha); ?>
//輸出如下:
Array
(
[keywords] => 天涯博客,PHP博客,PHP技術博客,PHP學習博客,PHP開發博客
[description] => 天涯PHP博客是以PHP為主的學習博客,記載PHPER的學習歷程,並關注互聯網最新發展動態。
[generator] => WordPress 3.2.1
)
, 'a'=>'show', 'id'=>10, 'hello', 'world');
// c=blog&a=show&id=10&0=hello&1=world
echo http_build_query($url);
/
echo http_build_query($url);
/
echo http_build_query($url);
/
echo http_build_query($url);
echo http_build_query($url);
/
/
/ / c=blog&a=show&id=10&phpha_0=hello&phpha_1=world
$url = 'http://tianya:phphadotcom@phpha.com/hello.php?id=10#nav';
print_r(parse_url($url));
? >
陣列
(
[方案] => http
[主機] => phpha.com
[使用者] => tianya
[pass] => phphadotcom
[路徑] => /hello.php = php. > id=10
[片段] => nav
)
rawurldecode — 對已編碼的URL 字串進行解碼url已編碼的URL 字串
//天涯PHP博客http://blog.phpha.com
$url = 'http://blog.phpha.com tianya';
echo urlencode($url);
echo
';
echo rawurlencode($url);
echo '
';
echo urldecode($url);
echo '
';
echo rawurldecode( echo '
';
echo rawurldecode(url); >
輸出如下:
http%3A%2F%2Fblog.phpha.com+tianya
http%3A%2F%2Fblog.phpha.com%20tianya
http://blog.phpha.com tianya
http://blog .phpha.com tianya
可以看到,urlencode與rawurlencode的區別在於:
urlencode() 會把空格編碼為加號(+),rawurlencode() 則把空格編碼為%20
urldecode()和rawurldecode() 則為對應的解碼函數。
以上就是摘自PHP手冊[6] – URL函數的內容,更多相關內容請關注PHP中文網(www.php.cn)!