回答
你應該URL Encode的超鏈接,所以所有字符都轉換成有效的ASCII格式,不包含任何(X)的HTML實體。
對於C#使用HttpUtility.UrlEncode
,對於PHP urlencode
,對於JavaScript encodeURI
等等...找到正確的方法對於您正在使用的語言應該不那麼難。
你讓他們&在這樣的鏈接?
&
我的代碼漂亮標準的代碼只有把它失敗中的一些超鏈接的URL,由於&符號。
轉義的&符號在網址(或其他地方,如果他們不是一個HTML實體的一部分!)不「好符合標準的代碼」。
把它們變成&
,你可以準確地聲稱做到了這一點。
語法納粹:/替換不符合不 –
+1還不錯知道:未屏蔽的'&'將計爲無效*甚至在JavaScript塊*中,除非它們被封裝在'CDATA'標籤中。 –
謝謝你們的回覆。網址編碼對我來說是新的,我正在研究它。有一個很好的鏈接到上面Ronald提供的W3C URL編碼頁面。 –
CDATA工作,你在JavaScript字符串有&奇蹟..
- 1. JSF 1.2注入導致w3c的javaScript驗證失敗
- 2. th colspan失敗w3c驗證
- 3. 導致HTML5驗證失敗
- 4. 由於SessionLoaderExceptions導致Ant鏈接驗證失敗
- 5. URL在W3C HTML/XHTML驗證中失敗
- 6. XS:Group導致Schema驗證失敗
- 7. 比較使用Dataanotations導致驗證失敗的字段驗證
- 8. 導致w3c驗證錯誤的分隔符
- 9. Asp.net鏈接RUNAT服務器W3C驗證
- 10. 轉義導致JSON驗證失敗的隱藏字符
- 11. 鏈接Github上,以Namecheap:驗證失敗
- 12. 由於「身份驗證協議被拒絕」導致MySQL ODBC鏈接失敗
- 13. Shoulda Matcher自定義驗證導致所有shoulda驗證失敗
- 14. 超鏈接不斷失敗
- 15. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信鏈接失敗軟件導致連接中止:recv失敗
- 16. Dublin Core和Metaname導致HTML5中的W3C驗證問題頁面
- 17. phpMyAdmin導致連接失敗
- 18. Php中的簽名問題導致API身份驗證失敗
- 19. Seam/JSF中的驗證失敗導航
- 20. git svn分支導致「服務器SSL證書驗證失敗」
- 21. Rails.application.initialize後導致SSL證書驗證失敗
- 22. 新驗證會導致舊遷移在Rails中失敗
- 23. 生成的元標記失敗w3c驗證
- 24. Facebook的Like按鈕和W3C驗證失敗
- 25. 超鏈接和有效的W3C標記
- 26. Pycharm GitHub的「推送失敗:致命的:驗證失敗」
- 27. 單選按鈕驗證導致驗證失敗的其餘部分
- 28. 導致保存失敗的DataMapper關聯/驗證
- 29. Django驗證 - 成功和失敗導致相同的行爲
- 30. 由於Gradle導致的Firebase身份驗證失敗?
'htmlspecialchars'(http://php.net/manual/en/function.htmlspecialchars.php)實際上比'urlencode'好。 – ceejayoz
...我會盡可能地稱它爲必要*。 'urlencode()'是錯誤的方法。 &符號在URL(GET參數分隔符)中具有特殊含義,'urlencode()'將*移除*意味着通過轉義它們。我們不想在URL上下文中編碼&符號。我們想要在HTML上下文中編碼&符號。 'htmlspecialchars()'做到了。 – pinkgothic