sensiolabs/ansi-to-html
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>
sensiolabs/ansi-to-html 适用场景与选型建议
sensiolabs/ansi-to-html 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 8.11M 次下载、GitHub Stars 达 253, 最近一次更新时间为 2013 年 03 月 19 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 sensiolabs/ansi-to-html 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 sensiolabs/ansi-to-html 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 8.11M
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 257
- 点击次数: 27
- 依赖项目数: 58
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2013-03-19