【发布时间】:2018-01-09 12:02:38
【问题描述】:
我有一些命令可以将输出格式化到控制台。
这些命令是使用 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
...
如您所见,输出几乎不可读。
如何在将其保存到数据库之前从中删除所有格式?
【问题讨论】:
-
在 PHP 中使用某种正则表达式将有助于在将文本输出到网页之前删除所有不需要的部分。
-
哦,是的...但是考虑到所有可能的变化并不是那么简单!
-
更改您的代码以使用 echo sprintf(...) 并完全绕过控制台输出代码。