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

Posted

技术标签:

【中文标题】在 PHP 中使用 Pygments(PHP 中的 Python)【英文标题】:Using Pygments with PHP (Python in PHP) 【发布时间】:2010-06-30 22:46:42 【问题描述】:

是否可以将 Python(特别是 Pygments)与 php 一起使用?目前,我有一个正在开发的 phpBB 论坛,而 JS Syntax Highlighters 还没有为我工作。已经有一个GeSHI mod,但我想自己开发一些东西只是为了体验。

另外,会有性能问题吗?

【问题讨论】:

【参考方案1】:

现在有一个用于此的库:

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

【讨论】:

【参考方案2】:

执行这种集成的唯一方法(以 PHP 作为主要语言)几乎是脱壳。这意味着每次需要时手动启动 python。

如果你需要做很多事情,那可能会有点慢。您可以通过在创建或编辑帖子时创建语法 hilite 来缓解这种情况,而不是在查看时。

【讨论】:

【参考方案3】:

如果您有兴趣深入研究 Python,您可以编写一个外部脚本或服务器应用程序,以使用语法高亮代码更新新帖子。如果是我,我会将原始代码保留在一个数据库列中,并将语法突出显示的版本放在另一列中。

一个用于批量更新新帖子的简单脚本可以作为 cron 作业以您认为理想的任何间隔运行。

为了支持近乎实时的场景,您可以编写一个服务器应用程序,该应用程序会坐下来等待每次收到新帖子的通知。例如,在处理新帖子时,PHP 应用程序可以通过 AMQP 队列向突出显示应用程序发送消息。

【讨论】:

以上是关于在 PHP 中使用 Pygments(PHP 中的 Python)的主要内容,如果未能解决你的问题,请参考以下文章

用于 HTML、PHP 和 JavaScript 的 Pygments 样式

Pygments 代码中的行号在 Windows 上的 xampp 中突出显示

使用 Pygments 在 Django 项目中显示 <pre> 中的行号

wxPython中的Pygments?

使用 Pygments 在 Jekyll 中突出显示围栏代码块

在 pygments 中使用不止一种高亮颜色