sensiolabs/ansi-to-html
最新稳定版本:v2.0.0
Composer 安装命令:
composer require sensiolabs/ansi-to-html
包简介
A library to convert a text with ANSI codes to HTML
README 文档
README
This small library only does one thing: converting a text containing ANSI codes to an HTML5 fragment:
require_once __DIR__.'/vendor/autoload.php'; use SensioLabs\AnsiConverter\AnsiToHtmlConverter; $converter = new AnsiToHtmlConverter(); $html = $converter->convert($ansi);
The $ansi variable should contain a text with ANSI codes, and $html will
contain the converted HTML5 version of it.
You can then output the HTML5 fragment in any HTML document:
<html>
<body>
<pre style="background-color: black; overflow: auto; padding: 10px 15px; font-family: monospace;"
><?php echo $html ?></pre>
</body>
</html>
The converter supports different color themes:
use SensioLabs\AnsiConverter\Theme\SolarizedTheme; $theme = new SolarizedTheme(); $converter = new AnsiToHtmlConverter($theme);
By default, the colors are inlined into the HTML, but you can also use classes by turning off style inlining:
$converter = new AnsiToHtmlConverter($theme, false);
And the asCss() method of the theme object lets you retrieve the theme styles
as a CSS snippet:
$styles = $theme->asCss();
which you can then use in your HTML document:
<html>
<head>
<style>
<?php echo $styles ?>
.ansi_box { overflow: auto; padding: 10px 15px; font-family: monospace; }
</style>
</head>
<body>
<pre class="ansi_color_bg_black ansi_color_fg_white ansi_box"><?php echo $html ?></pre>
</body>
</html>
Twig Integration
Register the extension:
use SensioLabs\AnsiConverter\Bridge\Twig\AnsiExtension; $twig->addExtension(AnsiExtension());
It's possible to use a custom AnsiToHtmlConverter:
use SensioLabs\AnsiConverter\Bridge\Twig\AnsiExtension; use SensioLabs\AnsiConverter\Theme\SolarizedTheme; $theme = new SolarizedTheme(); $converter = new AnsiToHtmlConverter($theme, false); $twig->addExtension(new AnsiExtension($converter));
Then:
<html> <head> <style> {# This is only need if the inline styling is disabled #} {{ ansi_css }} </style> </head> <body> {{ some_ansi_code|ansi_to_html }} </body> </html>
统计信息
- 总下载量: 7.49M
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 256
- 点击次数: 4
- 依赖项目数: 59
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-04