我有一个页面,其中包含一些使用HTML / CSS / JavaScript的基本示例。我希望能够在我的网站上将这些示例的代码发布为文本。我已经尝试使用pre和code元素来包装代表代码的文本块。
以下是网站:https://mywebspace.wisc.edu/jkinzel/examples/
最后一个小问题是在某些情况下,<和>被编码为>
和<
。您可以在第二个示例的代码中看到(在JavaScript和CSS标题下)这是个案,但仅限于某些情况。其他时候它们被正确地显示为&lt;和&gt; (这就是我想要的)。
任何人都有任何想法,为什么有时会发生这种情况,而不是其他人?
答案 0 :(得分:2)
如何使用google-code-prettify之类的内容为您做到这一点?
答案 1 :(得分:2)
根据我上面的评论:
这是文本被编码两次的结果;也就是说,它被编码一次以转动&lt;和&gt;将字符转换为HTML实体,然后再对它们进行编码,这使它们停止工作。也就是说,当<
编码两次时,&lt;
会变成{{1}}。
更多细节:为了在源代码形式中显示HTML而要编码的最重要字符是“&lt;”和“&amp;”;通常人们编码“&gt;”虽然通常但这不是问题。 (实际上,“&amp;”本身也通常不是问题,而是什么。)HTML实体看起来像“&amp; foo;”,其中“foo”是一些关键。因此,当您对文本进行编码时,最终会得到“&amp; foo;”到处都是。再次编码 时,“&amp;”在这些小字符串的开头重新编码为“&amp;”。