输出中的PHP"退格"字符可能吗?

Jef*_*eff 13 php

我有一种感觉,答案是"这是不可能的",但我想要满足我的好奇心.

我有一些代码回应了\n是不可避免的:

echo "Hello \n";
echo "World!";
Run Code Online (Sandbox Code Playgroud)

我想简单地阅读该行(在代码输出中):

你好,世界!

...因此删除\n.

所以我想知道在PHP输出期间是否可以执行"退格"字符?

简单的东西 str_replace( "\n", 'backspace-character', $str );

Bre*_*ker 31

是的,退格符是ASCII字符代码8(根据ASCII表),因此您可以使用chr()在php中输出它.例如:

echo 'ab' . chr(8);
Run Code Online (Sandbox Code Playgroud)

将输出"a"

  • 在浏览器中?我只是在命令行上测试它,在浏览器中退格我没有意义. (6认同)
  • 好吧,如果你正在谈论CLI之外的任何事情,你可能不需要文字退格字符.其他建议的解决方案可能更有用. (6认同)

Pet*_*ley 6

如果输出目标是HTML,则额外的空格无关紧要 - 浏览器不会渲染多个连续的空格(这就是为什么我们有 )

如果输出目标是其他东西,那么您可以简单地清理输出.从其他回复中可以看出,有很多方法可以做到这一点.看起来你正在使用echo语句,因此输出缓冲函数将是你想要的路径.

ob_start();

echo "Hello \n";
echo "World!";

$output = preg_replace( "/ +/", ' ', str_replace( "\n", ' ', ob_get_clean() ) );

echo $output;
Run Code Online (Sandbox Code Playgroud)