Arrays W3C验证-无法在href中传递数组

Arrays W3C验证-无法在href中传递数组,arrays,href,w3c-validation,Arrays,Href,W3c Validation,我将w3c验证程序与html5一起使用。我在href中传递了一个数组afilter[]=abc,我尝试按如下方式转义括号: <a href='slideshowform.php?x=y&amp;afilter&#91;&#93;=abc'>phases of matter</a> 如何传递数组而不出错?或者我是否错误地跳过了括号?您必须对其进行URL编码,而不是HTML编码。您的URL必须如下所示: slideshowform.php?x=y&a

我将w3c验证程序与html5一起使用。我在href中传递了一个数组
afilter[]=abc
,我尝试按如下方式转义括号:

<a href='slideshowform.php?x=y&amp;afilter&#91;&#93;=abc'>phases of matter</a>

如何传递数组而不出错?或者我是否错误地跳过了括号?

您必须对其进行URL编码,而不是HTML编码。您的URL必须如下所示:

slideshowform.php?x=y&afilter%5B%5D=abc
大多数编程语言都内置了类似的东西(例如或),或者您可以简单地使用在线服务,例如(没有附属关系,只是第一个搜索结果之一)

当然,最好对HTML保留字符进行编码,以便在HTML文档中输出链接。因此,您将在HTML文档中使用以下URL

slideshowform.php?x=y&amp;afilter%5B%5D=abc

知道了。我认为字符的十六进制表示在url中是有效的,但显然不是。我一直在使用urlencode处理可能最终出现在url(例如搜索字符串)中的任何用户数据,并通过htmlspecialchars运行所有我的href链接。似乎我所要做的就是将[]替换为
urlencode(“[]”)
。谢谢你的澄清。
slideshowform.php?x=y&amp;afilter%5B%5D=abc