Highlight.js不适用于PHP的echo'ed文本

时间:2017-04-20 21:15:53

标签: javascript php html highlight.js

我正在回复PHP中的文本,通过我的HTML页面上的AJAX调用加载到我的页面上。我希望Highlight.js完成此文本并突出显示我的语法。但是,它没有突出显示文本。当我直接在HTML页面上执行此操作时:

<pre>
    <code id=resultDiv style="text-align:right;">
       <p> int main() </p>
    </code>
</pre>

它有效。 int main()突出显示。但是,

echo 
    "int main()";

甚至

echo "<p> int main() </p>" 

同样的结果.Div 从我的PHP文件到页面没有突出显示。

有解决方法吗?为什么会这样?

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你就可以使用Ajax从PHP页面加载内容了。

当使用highlight.js时,它将运行你的html并在&#34; load&#34;之后突出显示所有内容。 event,但是在此事件之后您的Ajax调用是异步发生的,这意味着在hightlight.js完成传递后加载内容。

highlight.js有highlightBlock function会触发代码突出显示传递,在你的情况下它会看起来像下面的代码行

hljs.highlightBlock(document.getElementById("resultDiv"));
在将您的内容添加到DOM

之后,您必须将