加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

&符号旁边的哪些其他字符应该在HTML href / src属性中编码?

发布时间:2020-12-14 19:37:55 所属栏目:资源 来源:网络整理
导读:符号是否应该在 HTML属性中编码的唯一字符? 众所周知,这不会通过验证: a href="http://domain.com/search?q=whateverlang=en"/a 因为符号应该是 amp; amp; amp; amp; amp;这是验证失败的direct link. 应该编码的This guy lists a bunch of characters,但他
&符号是否应该在 HTML属性中编码的唯一字符?

众所周知,这不会通过验证:

<a href="http://domain.com/search?q=whatever&lang=en"></a>

因为&符号应该是& amp; amp; amp; amp; amp;这是验证失败的direct link.

应该编码的This guy lists a bunch of characters,但他错了.如果您对http://中的第一个“/”进行编码,则href将无效.

在ASP.NET中,是否已经构建了一个帮助方法来处理这个问题?像Server.UrlEncode和HtmlEncode这样的东西显然不起作用 – 这些用于不同的目的.

我可以构建我自己的简单扩展方法(如.ToAttributeView()),它可以进行简单的字符串替换.

解决方法

除了值的标准URI编码之外,&是唯一与HTML实体相关的字符,您必须担心它只是因为这是开始每个HTML实体的字符.以下面的URL为例:
http://query.com/?q=foo&lt=bar&gt=baz

即使没有尾随的分号,因为& lt;是<的实体和& gt;是>的实体,某些旧版浏览器会将此网址翻译为:

http://query.com/?q=foo<=bar>=baz

所以你需要指定&作为& amp;防止HTML解析文档中的链接发生这种情况.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读