如何从用PHP编写的控制台命令的输出中删除所有格式

时间:2018-01-09 12:02:38

标签: php symfony console

我有一些命令可以将输出格式化为控制台。

这些命令是使用Symfony控制台组件编写的,并使用its styles格式化。

在控制台中运行时,格式化很好,但这些命令通常也是从我编写的队列系统运行的,因此日志会显示在HTML页面上。

结果很难理解,因为它充满了在控制台上有用的所有格式“标记”,但在网页上读取输出时完全没用。

这是我所说的一个例子:

[32mStarting command[39m
[32m===========================[39m

[34m[>] Analyzing Entity [39m[32This is the entity[39m[34m.                                             [39m
[34m[>] Starting analyzing Entity [39m[32mThis is the entity[39m[34m.                                    [39m
[34m[>] Creating new Job for [39m[30;42This is the entity[39;49m[34m to analyze it in [39m[30;42m+1 week[39;49m[34m (Cause: The Entity is a clone of [39m[30;42Entity2[39;49m[34m).[39m
[34m[>] New Job for [39m[30;42mEntity[39;49m[34m created.                                         [39m
...

正如您所看到的,输出几乎不可读。

如何在将其保存到数据库之前从中删除所有格式?

2 个答案:

答案 0 :(得分:2)

您可以使用--no-ansi选项

禁用ANSI颜色

您还可以尝试ANSI to HTML5 Converter

答案 1 :(得分:0)