Html 是吗?;需要是&;amp;在元描述中?

Html 是吗?;需要是&;amp;在元描述中?,html,cross-browser,meta-tags,meta,ampersand,Html,Cross Browser,Meta Tags,Meta,Ampersand,我正在插入带有&符号的内容。我想知道是否需要将其作为插入&以便正确读取此标志 像这样: <meta name="description" content="lorem lorem S&amp;B lorem lorem"> 或者像这样: <meta name="description" content="lorem lorem S&B lorem lorem"> 在HTML内容中,您总是将符号表示为&或和#38,绝不是赤裸裸的&。这包括

我正在插入带有
&
符号的内容。我想知道是否需要将其作为
插入&以便正确读取此标志

像这样:

<meta name="description" content="lorem lorem S&amp;B lorem lorem">

或者像这样:

<meta name="description" content="lorem lorem S&B lorem lorem">

在HTML内容中,您总是将符号表示为
&
和#38
,绝不是赤裸裸的
&
。这包括元素标记之间的文本以及属性值。没有例外


这是因为<代码>和本身表示HTML实体引用的开始(如上文所见),当出现在文本中间时,经常会出现问题,这些文本可以被解释为实体引用。

< P>这取决于搜索引擎。谷歌倾向于将其作为一个字符串,因此您可能希望添加
&和其他相关的ascii代码


基于web标准,我建议您始终以
的形式编写一个符号&

HTML5中,不允许在以下情况下使用“不明确的符号”:

属性值是文本和字符引用的混合,除了文本不能包含不明确的符号的附加限制

定义为:

[…]一个U+0026符号和字符(&),后跟一个或多个字母数字ASCII字符,后跟“;”(U+003B)字符,其中这些字符与命名字符引用部分中给出的任何名称都不匹配

在您的示例(
&B lorem
)中,符号(
&
)后面跟一个字母数字ASCII字符(
B
),但这个字符后面不跟分号(
)。因此,您的符号与不含糊


这意味着您的两个示例都是有效的。

@Daniel Ramirez Escudero:一个是命名实体,另一个是其十进制代码点。表达同一事物的两种不同方式。您可以继续使用
&如果您愿意的话。那么在html内容中,“&”是否可以转义为“&”,或者它是否总是显示为“&;”或“&”?我得到了一个答案,可以在Rails web框架的上下文中使用
html\u safe
方法来执行此操作。如果有人想这样做,请阅读关于什么时候最好先使用html_-safe方法。IMO,支持遗留问题,以防极不可能的边缘条件导致问题<了解问题,如果实体实际被弃用并最终被撤销,则不会导致新的遗留问题。我们的曾孙孙辈会感谢我们,因为他们的下水道不会因为3公里而爆炸。