首頁  >  文章  >  後端開發  >  php中解析帶有中文字元的url怎麼做?

php中解析帶有中文字元的url怎麼做?

怪我咯
怪我咯原創
2018-05-28 17:40:002679瀏覽

URL(Uniform Resoure Locator:統一資源定位器)是WWW頁的位址,它從左到右由下述部分組成:
 ·Internet資源類型(scheme):指出WWW客戶程式用來操作的工具。如「http://」表示WWW伺服器,「ftp://」表示FTP伺服器,「gopher://」表示Gopher伺服器,而「new:」表示Newgroup新聞群組。
 ·伺服器位址(host):指出WWW頁所在的伺服器網域名稱。
 ·連接埠(port):有時(並非總是這樣),對於某些資源的存取來說,需給予對應的伺服器提供連接埠號碼。
 ·路徑(path):指明伺服器上某資源的位置(其格式與DOS系統中的格式一樣,通常有目錄/子目錄/檔案名稱這樣結構組成)。與連接埠一樣,路徑並非總是需要的。
 URL位址格式排列為:scheme://host:port/path,例如http://#www.sohu.com/domain/HXWZ就是一個典型的URL位址。

這篇文章主要介紹了php中解析帶中文字符的url函數分享,本文直接給出實現代碼,重點是對rawurlencode函數的使用上,需要的朋友可以參考下

很多時候,在書寫網頁應用程式時候,會遇到中文和其他字符衝突的問題,例如有的url連結中包含中文字符,那麼在使用wget/curl/file_get_contents等等獲取資訊時候會直接撞上一個大大的“404”,會很無言。

這裡寫了一個小函數來解決這個問題,只是限於在path中進行解析而已,涉及到的相關函數使用大家可以查看手冊就行。

 程式碼如下:

function urlConvert($url){   
        $pathArr = array();   
        $modules = parse_url($url);   
        $path = $modules['path'];   
        $pathSplit = explode(‘/', $path);   
       
        foreach ($pathSplit as $row){   
            $pathArr[] = rawurlencode($row);   
        }   
        $urlNew = $modules['scheme']."://".$modules['host'].implode(‘/', $pathArr);   
        return $urlNew;   
    }

以上是php中解析帶有中文字元的url怎麼做?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn