HTML 实体拯救了我的博客,防止了页面崩溃
一篇关于 C++ 博客文章中的一个尖括号就让我的整个页面布局崩了。那一天我学会了 HTML 实体不是可选的——它们是必需的。
我记得我的博客崩溃的确切时刻。我写了一篇关于 C++ 模板的文章,里面用到了代码中的实际尖括号——\\x60
那一天我学会了 HTML 实体,而我尴尬地发现知道得太晚了。
HTML 实体是特殊的代码,让你可以显示保留字符——那些 HTML 用于自身语法的字符——而不会让浏览器尝试解读它们。最重要的是 \\x60<\\x60 表示小于号 \\x60<\\x60,\\x60>\\x60 表示大于号 \\x60>\\x60,以及 \\x60&\\x60 表示 & 符号本身。这三个就能完全拯救我的 C++ 博客文章。
但还有更多。我现在经常使用它们。
不间断空格 \\x60 \\x60 是我最常用的。它防止两个词在行末被分开。我把它用在数字和单位之间、名字和首字母之间、以及任何换行会显得不专业的地方。这是一个能让文字看起来更精致的小调整。
版权和商标符号——\\x60©\\x60、\\x60®\\x60、\\x60™\\x60——比直接输入实际字符看起来干净得多,尤其是一些字体渲染这些符号不一致。同样,\\x60—\\x60 用于 em dash、\\x60–\\x60 用于 en dash,比输入连字符然后指望最好的结果要可靠得多。一旦你开始使用真正的 em dash,连字符就开始看起来不对劲了。
弯引号是另一个。\\x60“\\x60 和 \\x60”\\x60 用于双引号,\\x60‘\\x60 和 \\x60’\\x60 用于单引号。它们给你的文字合适的印刷体引号,而不是那些看起来像是终端窗口里的直上直下符号。这是一个微妙的差别,但一整篇文章积累起来就很明显了。
分数实体如 \\x60¼\\x60、\\x60½\\x60 和 \\x60¾\\x60 对于任何涉及测量或食谱的内容来说都是救星。箭头实体——\\x60→\\x60 右箭头、\\x60←\\x60 左箭头——非常适合导航说明和列表,不需要图片。
我现在的流程很简单。在我发布任何可能包含代码、特殊字符或不寻常标点的内容之前,我会扫描一遍,查找浏览器可能误解读的任何东西。尖括号替换为实体。URL 中的 & 符号进行编码。连字符升级为真正的 em dash。这大约需要两分钟,而且它拯救了我避免了那种把我的 C++ 文章搞垮的灾难。
如今我在编辑器中固定放着一张速查表,记录着大约三十个我经常使用的 HTML 实体。我的博客再没有因为一个非法字符而崩溃过。而我终于完成了那篇 C++ 文章。这次用上了正确的尖括号。