链接描述文本中的&符号?

kit*_*ski 4 php urlencode

我正在使用http://validator.w3.org验证我的网站,并且&在我的链接描述文本中有一个问题.

这取自来源:

<a class='tag' href='/php/iphone software.php?function=developer&amp;dev=witch%26wizards+inc.&amp;store=143441'>witch&wizards inc.</a>
Run Code Online (Sandbox Code Playgroud)

这会在验证器中出现此错误:

第188行,第540列:无法生成一般实体"向导"的系统标识符

... 6wizards + inc.&store = 143441'> witch&wizards inc.

✉在文档中找到了实体引用,但没有定义该名称的引用

如果我对该描述进行了urlencode,那么验证就会通过,但是用户会看到文本显示为urlencoded,即

开发者女巫%26wizards + inc.

但是,如果显示未编码,即我认为它更加用户友好

开发者巫师和巫师公司

有没有办法通过验证,但仍然显示用户友好的文本?

Bol*_*ock 9

简单:

对于&符号作为查询字符串值的一部分,URL将它们编码为%26.

用于将&符号显示为文本,或用于分隔查询字符串键值对的&符号- 换句话说,对于几乎所有其他内容 - HTML将它们编码为其实体&amp;.

您的HTML应如下所示:

<a class='tag' href='/php/iphone%20software.php?function=developer&amp;dev=witch%26wizards+inc.&amp;store=143441'>witch&amp;wizards inc.</a>
Run Code Online (Sandbox Code Playgroud)