有什么理由在角色本身上使用 HTML 实体吗?
Is there any reason to use HTML entities over the characters themselves?
例如,假设我想在我的页面标题中添加一个破折号,如下所示:
Home – My Site
是否有任何理由使用 –
而不是将字符 –
放入我的 HTML 文件中?
是的。当您按原样使用实际实体时,某些浏览器和操作系统不喜欢它...偶尔在 Mac 上输入破折号时,它只会乱码或看起来像 [=12= 上的空方块] 机器。使用实体更安全:D
如果您要使用的角色存在 HTML 实体,您应该使用 HTML 实体。这确保它按预期显示。
如果你想渲染会扰乱 HTML 解析器的字符(<
和 >
,以及 &
本身),那绝对是需要的。
如果将字符集设置为 UTF-8,则可以使用其他原始 UTF8 字符。
<meta charset='utf-8'>
然而,一些较旧的浏览器不理解此标记,因此它们可能无法正确呈现 UTF-8 字符。
我还想指出 - HTML 实体有时用于告诉浏览器呈现概念,而不是特定字符。一些浏览器更喜欢以比 Unicode 字符更具可读性的方式呈现实体,例如 Lynx 将 ™
呈现为 (tm)
而不是 ™
If you use the less than (<) or greater than (>) signs in your text, the browser might mix them with tags. W3Schools.com
除非出现特定问题,否则我可能会使用的唯一其他 HTML 实体是
和 &
。
例如,假设我想在我的页面标题中添加一个破折号,如下所示:
Home – My Site
是否有任何理由使用 –
而不是将字符 –
放入我的 HTML 文件中?
是的。当您按原样使用实际实体时,某些浏览器和操作系统不喜欢它...偶尔在 Mac 上输入破折号时,它只会乱码或看起来像 [=12= 上的空方块] 机器。使用实体更安全:D
如果您要使用的角色存在 HTML 实体,您应该使用 HTML 实体。这确保它按预期显示。
如果你想渲染会扰乱 HTML 解析器的字符(<
和 >
,以及 &
本身),那绝对是需要的。
如果将字符集设置为 UTF-8,则可以使用其他原始 UTF8 字符。
<meta charset='utf-8'>
然而,一些较旧的浏览器不理解此标记,因此它们可能无法正确呈现 UTF-8 字符。
我还想指出 - HTML 实体有时用于告诉浏览器呈现概念,而不是特定字符。一些浏览器更喜欢以比 Unicode 字符更具可读性的方式呈现实体,例如 Lynx 将 ™
呈现为 (tm)
而不是 ™
If you use the less than (<) or greater than (>) signs in your text, the browser might mix them with tags. W3Schools.com
除非出现特定问题,否则我可能会使用的唯一其他 HTML 实体是
和 &
。