目前我正在一个网站上工作,用户可以在该网站上发布可以包含源代码示例的文本。
有点像stackoverflow上的。我可以在其中输入 javascript 和 php 以及 jquery 和 css 以及许多其他语言,它们将在页面上突出显示语法!:)
像这样:
<?php echo "Hello friends";?>
我该如何以最好的方式做到这一点?
目前我正在一个网站上工作,用户可以在该网站上发布可以包含源代码示例的文本。
有点像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; // <a href='test'>Test</a>
?>
(我不记得是什么标志了,但是有一个标志可以输出在浏览器中正确呈现的安全 ASCII 版本)然后使用引导代码类 http://twitter.github.com/bootstrap/base-css .html#代码