目前,我有:
<a href="process.php?action=start&pid=1">Start Process</a>
Run Code Online (Sandbox Code Playgroud)
但是,我通过W3 HTML验证器(https://validator.w3.org)运行此代码,它出现了这个:
& did not start a character reference. (& probably should have been escaped as &.)
Run Code Online (Sandbox Code Playgroud)
是否有另一种正确的方法将"&"放入<a></a>标签中,或者我应该像它一样离开它?
&在Web设计组的 " 公共验证器问题"页面中解释了URL中的&符号():
URL中的&符号(&)
包含包含&符号("&")的URL时会发生另一个常见错误:
Run Code Online (Sandbox Code Playgroud)<!-- This is invalid! --> <a href="foo.cgi?chapter=1§ion=2©=3&lang=en">...</a>此示例为"未知实体部分"生成错误,因为假定"&"开始实体引用.浏览器通常可以安全地从这种错误中恢复,但在某些情况下确实会出现问题.在此示例中,许多浏览器正确地将© = 3转换为©= 3,这可能导致链接失败.由于
⟨是左指向尖括号的HTML实体,因此某些浏览器还将&lang = en转换为<= en.一个旧浏览器甚至找到实体§,将§ion = 2转换为§ion= 2.为了避免验证器和浏览器出现问题,
&在HTML中编写URL时始终使用&代替&:Run Code Online (Sandbox Code Playgroud)<a href="foo.cgi?chapter=1&section=2&copy=3&lang=en">...</a>请注意,
&只有在HTML中编写URL时才会替换&,其中"&"是一个特殊字符(以及"<"和">").在纯文本电子邮件或浏览器的位置栏中编写相同的URL时,您将使用"&"而不是"&".使用HTML,浏览器转换"&"为"&",因此Web服务器只会看到"&"而不会"&"在请求的查询字符串中.