用 HIGHLIGHT.JS 在youBBS 实现代码高亮

By admin at 2013-10-25 13:41:15 • 982次点击 • 1收藏

前几天推荐了一款前端渲染的代码高亮 HIGHLIGHT.JS http://youbbs.sinaapp.com/t/1337
想想这里也经常贴一些代码,就想办法实现一下。
如果在python 环境可以用pygments 实现代码高亮渲染,保存在数据库的是渲染后的纯html 代码。
前端有它自己的好处,就是编辑数据源比较方便,只是浏览器渲染需要一些时间。
下面是代码高亮测试
python

print "hello"
for i in range(10):
    print i
    if i>5:
        print i, '>5'

js
<script type="text/javascript">
alert('hello');
</script>

html
<h1>h1 text</h1>
<p style='color:red'>red text in p tag</a>

添加代码高亮的方法:
把代码放在三个“反单引号”(在键盘左上角,Esc 下面,切换到英文输入)之间

highlight, youbbs, 代码, 高亮


Vps版本也可以吗?不用修改代码?

root at 2013-10-25 20:58:19
1

@root 代码要修改的。

admin at 2013-10-26 07:45:33
2

求代码,要不发布一个更新包吧

root at 2013-10-27 02:09:21
3

'''echo,helloword,test'''

root at 2013-10-27 08:49:09
4

echo,helloword,code-test

root at 2013-10-27 08:49:34
5

set_content 函数 添加个正则识别所有字符 失败

看说明应该是把前后`{3}替换成<pre><code>

</code></pre>配合js和css就可以的

// code
    if(strpos($text, '`')){
        $text = preg_replace('`{3}([\s\S]+)`{3}','<pre><code>\1</code></pre>', $text);
    }

不会还是iis的正则识别不好吧

上次用户名汉字就匹配不了

乖乖念祢 at 2013-10-29 23:16:33
6

@乖乖念祢 还需识别哪些要替换,哪些不要替换,晚点写一下实现方法。

admin at 2013-10-30 10:02:05
7
登录 后发表评论