【问题标题】:Can't highlight xml syntax with highlight.js无法使用 highlight.js 突出显示 xml 语法
【发布时间】:2012-06-09 19:52:56
【问题描述】:

我正在尝试在 html 页面上打印 xml。

例子:

<pre><code class="xml">
    <?xml version="1.0"?>
    <response value="ok" xml:lang="en">
        <text>Ok</text>
        <comment html_allowed="true"/>
        <ns1:description><![CDATA[
        CDATA does <not> escape <tags like="this"></tags></not>.
        ]]></ns1:description>
        <a></a> <a/>
    </response>
</code></pre>

我想使用highlight.js 突出显示页面上的代码,但与 xml 和 html 存在冲突。

我只在一些使用&lt;pre&gt;&lt;code class="php"&gt;&lt;/code&gt;&lt;/pre&gt; 的php 代码上取得了成功,还没有尝试过使用其他语言。我发现显示 xml 代码的唯一方法是在 textarea 中,但我更喜欢用一些甜美的语法高亮显示 xml。

我已经发了jsfiddle to illustrate the problem

希望你能帮忙。

【问题讨论】:

    标签: javascript html xml syntax-highlighting


    【解决方案1】:

    当您想按字面意思显示尖括号时,应该使用 &amp;lt;&amp;gt; 转义尖括号。否则,您的 &lt;code&gt; 元素中有浏览器尝试解释的实际标记。这与应用到它的任何 JavaScript 无关。

    【讨论】:

    • 谢谢,效果很好,没想到这么简单。
    • 有什么意义,如果库本身采用 html 并替换字符本身就不会更聪明。就像是。 $html= $('预编码').innerHtml(); $parsedHTML = $html.replace("", ">");然后发挥它的魔力和风格。我认为不这样做是懒惰的。
    • 重点是让用户或其他工具在代码中实际使用标记。链接、背景突出显示的线条,诸如此类。
    【解决方案2】:

    不管怎样,Google Prettify 确实可以正确呈现 XML 块(无需将它们编码为 &amp;lt;

    【讨论】:

    • Highlight 或 Google Prettify 都未能按我的预期显示

      alkdjf

    • Google Prettyify 没有。
    猜你喜欢
    • 2012-06-11
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    • 2017-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多