我有一個網址,網址中的參數是人類有意義的。但轉換後的url包含許多字符,如「%5B%5D」,我應該如何防止url被轉換。如何防止url被轉換?
回答
%NN
是唯一正確的方式來表示非ASCII字符的網址。
你無法阻止它。如果客戶不能(或不想)以「正確」的方式展示他們 - 他們將會被編輯。
實施例標題:
$title = 'Exämplé strîng ìnclüding spéciâl chàrãctêrs and (söme) [brackets].';
有效網址編碼:
$title = 'Exämplé strîng ìnclüding spéciâl chàrãctêrs and (söme) [brackets].';
$title = urlencode($title) ;
// Result: Ex%C3%A4mpl%C3%A9+str%C3%AEng+%C3%ACncl%C3%BCding+sp%C3%A9ci%C3%A2l+ch%C3%A0r%C3%A3ct%C3%AArs+and+%28s%C3%B6me%29+%5Bbrackets%5D.
的進行urlencode()函數編碼每一個非ASCII字符。
URL必須以這種方式編碼才能正常工作。
幸運的你可以把它人類可讀的東西是這樣的:
(除去非ASCII字符/用下劃線代替空格)
$title = 'Exämplé strîng ìnclüding spéciâl chàrãctêrs and (söme) [brackets].';
$title = iconv('UTF-8', 'US-ASCII//TRANSLIT', $title);
$title = preg_replace('/[^A-Za-z0-9 ]/', '', $title);
$title = str_replace(' ','_',$title);
// Result: Example_string_including_special_characters_and_some_brackets
總之,創建如下網址:
"http://www.site.com/blog.php?Article=Example_string_including_special_characters_and_some_brackets"
而不是:
"http://www.site.com/blog.php?Article=Ex%C3%A4mpl%C3%A9+str%C3%AEng+%C3%ACncl%C3%BCding+sp%C3%A9ci%C3%A2l+ch%C3%A0r%C3%A3ct%C3%AArs+and+%28s%C3%B6me%29+%5Bbrackets%5D."
我的問題是如何使鏈接像「http://www.site.com/blog.php?Article=Example_string_including_special_characters_and_some_brackets」而不是「http://www.site。 COM/blog.php的?文章=防爆%C3%A4mpl%C3%A9 + STR%C3%AEng +%C3%ACncl%C3%BCding + SP%C3%A9ci%C3%A2L + CH%C3%A0r%C3% A3ct%C3%AArs +和+%28s%C3%B6me%29 +%5Bbrackets%5D「 – David 2011-04-24 11:46:40
Act最後,它確實關心渲染引擎,你不能逃避它。對於像壁虎這樣的東西,儘管被轉換,它可以以人類可讀的形式顯示。
您是在談論何時顯示網址,或者何時將其用作href值?
如果您希望它顯示得很好,可以通過urldecode()
運行它。根據其他答案,在href值內部,它必須看起來像這樣,或者URL可以在某些瀏覽器和服務器中中斷,所以最好讓它看起來像這樣。
@David - 您是否設法修復它? – 2011-04-28 22:58:13
- 1. 防止TestContext數據被自動轉換
- 2. 防止轉換文件被部署
- 3. 如何防止Flash的URLRequest轉義url?
- 4. .Net-MVC Url「\」自動轉換爲「/」,如何防止?
- 5. 防止gettext轉換
- 6. 爲什麼'+'被轉換爲'%2B',我該如何防止?
- 7. 如何防止將decimal.TryParse轉換爲「。」爲「。」?
- 8. 如何防止Windows Edge上的轉換?
- 9. 如何防止CSS3轉換回來?
- 10. 如何防止雙值轉換?
- 11. 如何防止循環的xsl轉換?
- 12. 如何防止將「^」轉換爲上標?
- 13. 如何防止CVS轉換行尾?
- 14. 如何防止空格被URL編碼爲`javascript:`URL?
- 15. 如何防止通過URL
- 16. 如何防止url參數?
- 17. 如何防止apikey被盜?
- 18. 如何防止被「&
- 19. Javascript - 阻止URL被轉義
- 20. 防止json.dumps轉換爲unicode
- 21. 防止轉換錯誤
- 22. 如何防止URL被包裝在TextView中?
- 23. 如何防止在使用akamai時elmah url /elmah.axd不被緩存
- 24. 仿射轉換可防止CGPoint轉移
- 25. 無論如何,以防止轉換轉義字符的innerHTML/$。html?
- 26. 防止div被按下與jquery切換
- 27. 如何防止NSJSONSerialization在URL中添加額外的轉義
- 28. 如何防止在URL中轉義字符的window.location.pathname
- 29. 如何防止Builder模板在屬性值中轉義URL?
- 30. 如何防止divs換行換行
您正在使用哪種平臺/語言? – Hossein 2011-04-24 10:37:46
編程語言是php – David 2011-04-24 10:40:21
我知道你在說什麼,它和希伯來文中的參數一樣。我想要一個解決方案以及... – fingerman 2011-04-24 11:09:19