prettify.js如何编码HTML以显示在页面上

How prettify.js encode HTML to show on page

本文关键字:显示 HTML js 何编码 编码 prettify      更新时间:2023-09-26

我的网站使用Pretify.js和css,但它不适用于HTML

假设我有这样的HTML:

<div style="padding:3px 0px">
  <asp:Label ID="lblTotalAns" runat="server" Text="0 Answers" CssClass="answersHeading" />
</div>

它将如何通过美化来渲染?

您必须将<更改为&lt;,将>更改为&gt;,否则您的代码将由浏览器呈现。所以你的代码必须看起来像这样:

<pre class="prettyprint">
  &lt;div style="padding:3px 0px"&gt;
    &lt;asp:Label ID="lblTotalAns" runat="server" Text="0 Answers" CssClass="answersHeading" /&gt;
  &lt;/div&gt;
</pre>

我用你的html源创建了一个简单的例子:http://jsfiddle.net/aSb76/

这也可以在漂亮的测试源和结果页面中看到。

README中介绍了如何包含prettify.js的基本设置。

我不知道在ASP中逃跑,但在谷歌中的第一个搜索结果比如"asp编码html实体"就提出了<%= Server.HTMLEncode(sValue) %>。也许你可以用这个。

我想提出一个替代解决方案,通过它你可以获得你想要的相同结果(我认为)(=嵌入网页中的语法突出显示的HTML代码)。

Github有一个整洁的服务(称为Gist),用于在线保存小代码片段,它允许:

  1. 语法突出显示
  2. 在HTML中嵌入代码片段(使用1.)

在这里,您可以在Github Gist上看到您的示例标记:https://gist.github.com/2012701

在这里,您可以看到它嵌入在HTML中:http://jsfiddle.net/6YHDu/

如果你想显示语法高亮显示的代码是动态生成的(不是手动输入的),那么忘记我的建议,使用Pretify.js,否则Gist是一个非常用户友好的选择。

您可以这样使用它:

在您的<head>元素中:

<link href="prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="prettify.js"></script>

在您的<body>元素中:

    <body onload="prettyPrint()">
      <div style="padding:3px 0px">
       <asp:Label ID="lblTotalAns" runat="server" Text="0 Answers" CssClass="answersHeading" />
      </div>
     </body>

我同意@tonymarschall的观点,如果你正在寻找替代方案,我会找到它。他们说你可以使用而不是,你不必用丑陋的&lts也许Pretify.js也有逃跑的嫌疑?毕竟它是谷歌做的!