A PHP wrapper for Pygments, the Python syntax highlighter.
ramsey/pygments is a PHP wrapper for Pygments, the Python syntax highlighter, forked from the Pygments.php project.
This project adheres to a code of conduct. By participating in this project and its community, you are expected to uphold this code.
Install this package as a dependency using Composer.
composer require ramsey/pygments
- PHP 8.2 or greater
- Python
- Pygments (
pip install Pygments
)
Python and Pygments versions tested:
Pygments: | 2.17 | 2.18 | 2.19 |
---|---|---|---|
Python 3.11 | β | β | β |
Python 3.12 | β | β | β |
Python 3.13 | β | β | β |
Note
ramsey/pygments will likely work on other versions of Python and Pygments, but the versions tested against are limited to keep the GitHub Actions job matrix at a reasonable size. If you encounter a version of Python or Pygments that does not work, please open an issue.
use Ramsey\Pygments\Pygments;
$pygments = new Pygments();
$html = $pygments->highlight(file_get_contents('index.php'), 'php', 'html');
$console = $pygments->highlight('package main', 'go', 'ansi');
use Ramsey\Pygments\Pygments;
$pygments = new Pygments();
$css = $pygments->getCss('monokai');
$prefixedCss = $pygments->getCss('default', '.syntax');
use Ramsey\Pygments\Pygments;
$pygments = new Pygments();
$lexer = $pygments->guessLexer('foo.rb'); // ruby
use Ramsey\Pygments\Pygments;
$pygments = new Pygments();
$lexers = $pygments->getLexers()
$formatters = $pygments->getFormatters();
$styles = $pygments->getStyles();
use Ramsey\Pygments\Pygments;
$pygments = new Pygments('/path/to/pygmentize');
Contributions are welcome! To contribute, please familiarize yourself with CONTRIBUTING.md.
Keeping user information safe and secure is a top priority, and we welcome the contribution of external security researchers. If you believe you've found a security issue in software that is maintained in this repository, please read SECURITY.md for instructions on submitting a vulnerability report.
The ramsey/pygments library is copyright Β© Ben Ramsey and licensed for use under the terms of the MIT License (MIT).
ramsey/pygments is a fork of Pygments.php. The Pygments.php library is copyright Β© Kazuyuki Hayashi and licensed for use under the terms of the MIT License (MIT).
Please see LICENSE for more information.