【问题标题】:Does & need to be & in the meta description?& 需要在元描述中是 & 吗?
【发布时间】:2014-01-02 08:35:53
【问题描述】:

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

像这样:

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

或者像这样:

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

【问题讨论】:

    标签: html cross-browser meta-tags meta ampersand


    【解决方案1】:

    您始终将 HTML 内容中的 & 符号表示为 &amp;amp;&amp;#38;,而不是裸露的 &amp;amp;。这包括元素标签之间的文本以及属性值。没有例外。

    这是因为&amp;amp; 本身表示 HTML 实体引用的开始(如上所示),并且在出现在可能被解释为实体引用的文本中间时通常会导致问题。

    【讨论】:

    • @Daniel Ramirez-Escudero:一个是命名实体,另一个是它的十进制代码点。表达同一件事的两种不同方式。如果您愿意,可以继续使用&amp;amp;
    • 那么在html内容中,“&”可以转义为“&”还是会一直显示为“&”还是“&”?
    • 我得到了答案,可以在 Rails Web 框架的上下文中使用html_safe 方法来实现。如果有人想这样做,请先阅读一下何时最适合使用 html_safe 方法。
    • IMO,支持遗留问题以防万一极不可能的边缘条件导致问题当他们的下水道不会因为 &3k 而爆炸时,我们的曾曾曾曾曾曾曾曾曾曾曾曾曾孙会感谢我们。
    【解决方案2】:

    HTML5中,您不能在attribute values中使用“不明确的和号”:

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

    ambiguous ampersand 定义为:

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

    在您的示例 (&amp;B lorem) 中,和号 (&amp;) 后跟一个字母数字 ASCII 字符 (B),但这个 不是 后跟一个分号 (@ 987654326@)。所以你的 & 符号不是模棱两可的

    这意味着你的两个例子都是有效的。

    【讨论】:

      【解决方案3】:

      这取决于搜索引擎。 Google 倾向于将其作为字符串提取,因此您需要添加 &amp;amp; 和其他相关的 ascii 代码。

      由于网络标准,我建议您始终将 & 符号写为 &amp;amp;

      【讨论】:

        猜你喜欢
        • 2019-05-20
        • 1970-01-01
        • 2014-11-21
        • 1970-01-01
        • 1970-01-01
        • 2015-02-18
        • 2010-09-21
        • 1970-01-01
        相关资源
        最近更新 更多