需要在我的网页上显示语法突出显示的源代码


Need to display syntax highlighted source code on my webpage

目前我正在开发一个网站,用户可以在该网站上发布包含源代码示例的文本。

有点像这里的stackoverflow。在那里我可以键入javascript和php、jquery和css以及许多其他语言,它们将在页面上被语法混淆!:)

像这样:

<?php echo "Hello friends";?>

我该如何以最好的方式做到这一点?

我相信您正在寻找Highlight.js;试试看,它的设置和使用相当简单:

基本用法

从页面链接库和样式表,并勾选突出显示到页面加载事件:

<link rel="stylesheet" href="styles/default.css">

<script src="highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script>

这将突出显示页面上标记为<pre><code> .. </code></pre>的所有代码。

看看这个项目:https://github.com/igorpan/PHPygmentizator

它是一个PHP库,使用Pygments来突出显示各种语言,并支持许多不同的风格。

使用php的htmlsafe

http://php.net/manual/en/function.htmlspecialchars.php

<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a          href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>

(我想不起来是什么标志了,但有一个标志可以输出在浏览器中正确呈现的安全ASCII版本)然后使用bootstraps代码类http://twitter.github.com/bootstrap/base-css.html#code