我正在使用带有html5的w3c验证器。我有一个数组afilter[]=abc
我正在传递href,我尝试按如下方式转义括号:
<a href='slideshowform.php?x=y&afilter[]=abc'>phases of matter</a>
但我仍然收到错误:
Bad value slideshowform.php?x=y&afilter[]=abc for attribute href on element a: Illegal character in query component.
如何在不出错的情况下传递数组 - 或者我是否错误地转移了括号?
答案 0 :(得分:1)
您必须对其进行URL编码,而不是HTML编码。您的网址必须如下所示:
slideshowform.php?x=y&afilter%5B%5D=abc
大多数编程语言都内置了这样的内容(例如rawurlencode()
in PHP或encodeURI
in JavaScript),或者您只需使用在线服务(无联盟,只是首批搜索结果之一){{3 }}
当然,编码HTML保留字符以便在HTML文档中输出链接也是一个好主意。因此,您最终会在HTML文档中使用以下网址。
slideshowform.php?x=y&afilter%5B%5D=abc