应该对href属性的内容做什么:HTML或URL编码?
<a href="???">link text</a>
一方面,由于href属性包含URL我应该使用URL编码。 另一方面,我将此URL插入HTML,因此必须进行HTML编码。
请帮我克服这个矛盾。
谢谢。
编辑:
这是矛盾。假设URL中可能包含“<”和“>”字符。 URL编码不会转义它们,因此href属性中会有保留的HTML字符,这违反了标准。 HTML编码将转义'<'和'>'字符,HTML将有效,但在此之后,URL中将出现意外的'&'字符(这是URL的保留字符,它用作查询字符串参数的分隔符) 。
保留的URL字符 形成了一个超集 保留的HTML字符 除了为HTML保留但不为URL保留的'<'和'>'。
编辑2:
我对'<'和'>'字符错了,它们实际上是通过URL编码转义的百分比。如果是这样,在这种情况下URL编码就足够了,不是吗?