我应该如何在锚点href中格式化GET数据?

时间:2013-05-07 23:54:10

标签: html html-validation

我正在使用W3C的验证器验证我的网页,当我尝试在我的超链接中使用GET变量时,它会给我以下错误:

“&没有开始一个字符引用。(&可能应该被转义为&。)”

我正在使用标准格式:

... href='url.php?var1=val1&var2=val2' ...

我的联盟计划的链接也多次抛出此错误。我应该忽略这个吗?

2 个答案:

答案 0 :(得分:0)

您应该对&符号进行编码,因为它们在HTML中具有特殊含义:

... href='url.php?var1=val1&var2=val2' ...

一般来说,浏览器可以很好地处理未编码的&符号,但编码它们是一种很好的做法。

答案 1 :(得分:0)

&应为&。您可以通过将字符串传递给htmlspecialchars()

来实体转义字符串
... href="<?php echo htmlspecialchars( 'url.php?var1=val1&var2=val2', ENT_QUOTES ); ?>" ...