我正在使用Server.HTMLEncode对我的HTML进行编码。
我注意到它不能逃脱单引号,如果您在html中使用单引号,这是一个限制,例如
<input type='text' .... />
(我已经检查过这是有效的XHTML)。
关于Server.HTMLEncode是否还有其他任何限制或注意事项,特别是此方法无法处理的任何无效XHTMl字符?
答案 0 :(得分:10)
MSDN says Server.HTMLEncode仅执行以下操作:
答案 1 :(得分:2)
要包含单引号编码,我使用(在VB.Net中):
Server.HTMLEncode("Here's a string with a single quote").Replace("'", "'")
答案 2 :(得分:0)
我针对此处列出的所有字符代码http://www.ascii.cl/htmlcodes.htm
测试了HTmlENcode它似乎逃脱了大多数角色,而那些没有逃脱的角色不会破坏XHTML合规性
答案 3 :(得分:0)
HTML Encode应确保字符串中所有符合HTML标准的字符都转换为其等效实体。正如您所发现的,单引号等在(X)HTML中完全有效,不需要编码。如果需要,可以使用UrlEncode / UrlDecode,或使用替换滚动自己的函数。
答案 4 :(得分:0)
我来到这里寻找相同的答案。在我的情况下,解决方案是实际......在你周围的HTML中使用双引号..