在PHP中使用Pygments(PHP中的Python)

1 投票
3 回答
2160 浏览
提问于 2025-04-16 00:38

可以用Python(特别是Pygments)和PHP一起吗?我现在正在开发一个phpBB论坛,但用JS语法高亮工具一直没能成功。虽然已经有一个GeSHI的插件,但我想自己开发一个,主要是为了积累经验。

另外,这样做会有性能问题吗?

3 个回答

0

如果你想学习Python,可以写一个外部脚本或者服务器应用程序,用来更新新发布的帖子,并给代码加上语法高亮。如果是我,我会把原始代码放在一个数据库的列里,把加了高亮的版本放在另一个列里。

你可以写一个简单的脚本,批量更新新帖子,这个脚本可以设置成定时任务,按照你觉得合适的时间间隔运行。

如果你想支持接近实时的更新,可以写一个服务器应用程序,让它一直等待接收新帖子的通知。比如,当处理一个新帖子时,PHP应用程序可以通过AMQP队列给高亮应用发送一条消息。

6

现在有一个库可以用来做这个,地址是:

http://derek.simkowiak.net/pygments-for-php/

1

基本上,使用PHP这个主要语言来进行这种整合,几乎唯一的方法就是使用外部命令。这意味着每次需要用到Python的时候,都得手动启动它。

如果你需要频繁这样做,可能会有点慢。为了改善这个情况,你可以在创建或编辑帖子的时候就生成语法高亮,而不是在查看的时候再生成。

撰写回答