如何在XHTML 5

时间:2017-07-19 21:32:00

标签: xhtml

是否有任何标签告诉浏览器只需打印标签内的内容,而不关心标签内部的语法?我正在尝试打印一些unicode字符,但是浏览器仍然会出错,即使我将字符直接粘贴到预标记内,也不使用&符号。

我正在尝试在div标签内打印©,但是将该字符放在div标签内会导致“格式不正确”的错误(该页面甚至不会显示在Mozilla Firefox中,而且版权符号未在Microsoft Edge中打印。

该页面作为application / xhtml + xml提供。

以下是代码:

<footer>©</footer>

这是错误:

XML Parsing Error: not well-formed Location: http://programcode.net/ Line Number 19, Column 13:
<footer></footer>

------------ ^

如果我这样做:

<footer><pre>© </pre></footer>

然后发生同样的错误:

XML Parsing Error: not well-formed Location: http://programcode.net/ Line Number 19, Column 18:
<footer><pre> </pre></footer>

----------------- ^

我尝试声明utf-8和utf-32(在xhtml文件中的元标记和.htaccess中),但错误仍然存​​在。

1 个答案:

答案 0 :(得分:0)

XHTML很棒,因为它使用非常严格的XML解析器。如果您有知道的错误,则表示您有错误并需要修复。我看到一个人花了三天的时间试图弄清楚为什么Safari无法工作,但所有其他浏览器都运行正常(他错过了一个关于元素属性的引用)。

您需要做的是编码HTML实体。有一些网站向您展示完整的Unicode范围及其字符。我建议使用https://unicode-table.com/en/,因为它不那么令人生畏。

现在,当你在那里时,你会想要search for the copyright符号。

接下来,您将点击明显的符号,然后您将结束copyright page

您正在寻找 HTML代码(与其他专业人士交谈时的正确术语是“数字HTML实体”)。永远不要使用松散的“实体”(&copy;),您希望始终使用数字HTML实体(&#169;)。

因此,您的代码应如下所示:     ©

XHTML,CSS和JavaScript处理HTML实体的方式略有不同。

对于 JavaScript实体,您需要用小写的“u”替换大写的“U”,删除“+”。以下示例可以从任何浏览器的Web开发人员控制台运行:

alert('Look at my \u00A9 date!');

请注意,必须具有版权符号的双零(删除它们会破坏代码)。

对于 CSS实体,它有点简单:

h1::after {content: '\00A9'; display: block; float: left;}

为什么这么复杂?

一个字节有8位(每秒1兆位,实际上每秒只有125,000字节(125千字节)。有些字符不能用代码中的单个字符表示。有多个级别的Unicode(通用字符集)但是大多数网站都转向UTF-8。有些语言(例如中文,据我所知)使用整个单词的符号(他们的“字母表”很多更长)。所有这些角色都必须以某种方式用代码表示(你没看到)。在任何地方(尤其是网络)本地支持UTF-8都有很大的进步。在使用XHTML时,应该对字符代码127以上的任何内容进行编码。它可能或者它本身可能不起作用,对于另一个问题来说这是一个更高级的主题。希望这会给你足够的洞察力来获得移动和开槽。