PHP和javascript中url編碼解碼詳解
阿新 • • 發佈:2018-09-13
http 遇到 註意 spa color 空格 www. col test
4、encodeURIComponent 和 decodeURIComponent
在實際開發中,我們可能會遇到路徑編碼解碼的問題,下面總結了一下:
PHP中:
1、urlencode(編碼),urldecode(解碼)
$a = urlencode(‘http://www.baidu.com?name=test&query=字母‘); echo $a //http%3A%2F%2Fwww.baidu.com%3Fname%3Dtest%26query%3D%E5%AD%97%E6%AF%8D
2、rawurlencode、rawurldecode
這個函數跟上面的大部分一模一樣,就一點不同:對空格的處理,urlencode處理成‘+‘,rawurlencode處理成‘%20‘
註意:編碼和解碼函數是成對的,用哪個函數編碼,就要用它對應的解碼函數解碼,不能混用。
JavaScript:
3、encodeURI 和 decodeURI
原理:返回編碼為有效的統一資源標識符 (URI) 的字符串,不會被編碼的字符:! @ # $ & * ( ) = : / ; ? + ‘
encodeURI(‘http://www.baidu.com?name=test&query=百度‘); //http://www.baidu.com?name=test&query=%E7%99%BE%E5%BA%A6
4、encodeURIComponent 和 decodeURIComponent
原理:對URL的組成部分進行個別編碼,而不用於對整個URL進行編碼,一般只用於路徑裏某個參數編碼
encodeURIComponent(‘http://www.baidu.com?name=test&query=百度‘); //http%3A%2F%2Fwww.baidu.com%3Fname%3Dtest%26query%3D%E7%99%BE%E5%BA%A6
PHP和javascript中url編碼解碼詳解