0

我有一个页面,其中包含一些使用 HTML/CSS/JavaScript 的非常基本的示例。我希望能够将这些示例的代码作为文本发布在我的网站上。我尝试使用 pre 和 code 元素来包装代表代码的文本块。

这是网站:https ://mywebspace.wisc.edu/jkinzel/examples/

最后一个小问题是,在某些情况下, < 和 > 被编码为&gt;and &lt;。您在第二个示例的代码(在 JavaScript 和 CSS 标题下)中看到了这种情况,但仅在某些情况下。其他时候,它们会正确显示为 < 和 > (这是我想要的)。

有人对为什么有时会发生这种情况而不是其他人有任何想法吗?

4

2 回答 2

2

使用像google-code-prettify这样的东西会为你做这件事怎么样?

于 2012-06-20T17:58:31.700 回答
2

从我上面的评论:

这是文本被编码两次的结果;也就是说,它被编码一次以将 < 和 > 字符转换为 HTML 实体,然后再对它们进行编码,这使得它们停止工作。也就是说,当它被编码两次时&lt;变成。&amp;lt;

更多细节:为了以源代码形式显示 HTML,最重要的编码字符是“<”和“&”;通常人们也会对“>”进行编码,尽管通常这不是问题。(实际上,“&”本身通常也不是问题,但无论如何。)HTML 实体看起来像“&foo;”,其中“foo”是一些键。因此,当您对文本进行编码时,您最终会得到“&foo;” 到处都是。当你再次编码时,那些小字符串开头的“&”被重新编码为“&”。

于 2012-06-20T17:59:31.790 回答