|
@@ -40,6 +40,19 @@ class BufferIO extends ConsoleIO
|
|
|
{
|
|
|
fseek($this->output->getStream(), 0);
|
|
|
|
|
|
- return stream_get_contents($this->output->getStream());
|
|
|
+ $output = stream_get_contents($this->output->getStream());
|
|
|
+
|
|
|
+ $output = preg_replace_callback("{(?<=^|\n|\x08)(.+?)(\x08+)}", function ($matches) {
|
|
|
+ $pre = strip_tags($matches[1]);
|
|
|
+
|
|
|
+ if (strlen($pre) === strlen($matches[2])) {
|
|
|
+ return '';
|
|
|
+ }
|
|
|
+
|
|
|
+ // TODO reverse parse the string, skipping span tags and \033\[([0-9;]+)m(.*?)\033\[0m style blobs
|
|
|
+ return rtrim($matches[1])."\n";
|
|
|
+ }, $output);
|
|
|
+
|
|
|
+ return $output;
|
|
|
}
|
|
|
}
|