PHP回显文本颜色

27
我该如何改变我所写的PHP代码中echo消息的颜色并居中显示? 我目前的代码是:
```php echo '请求已发送。请等待我的回复!'; ```
要让消息居中并且改变颜色,您可以使用HTML的`
`标签和``标签,如下所示:
```php echo '
请求已发送。请等待我的回复!
'; ```
8个回答

134

写一些转义序列怎么样?

echo "\033[01;31m Request has been sent. Please wait for my reply! \033[0m";

在浏览器中不起作用,只能通过控制台来使用 ;))


3
有没有关于这些颜色和选项的文档? - haynar
5
这是我用于此目的的脚本,http://asheepapart.blogspot.com/2011/02/add-color-to-php-echo-in-cli.html。 - Ben
您还需要确保您的终端仿真器使用标准的颜色方案,否则红色可能无法正常显示。 - Damien
1
如果您正在寻找命令行解决方案: https://github.com/box/bart/blob/master/src/Bart/EscapeColors.php 感谢@Ben提供的原始链接。 - Aternus

25

如果你要输出到浏览器,那么写一些HTML标签和CSS怎么样?

echo '<span style="color:#AFA;text-align:center;">Request has been sent. Please wait for my reply!</span>';

但是无法在控制台中使用,只能通过浏览器使用。


3

3

这个方法每次对我都有效,请试试。

echo "<font color='blue'>".$myvariable."</font>";

由于HTML5不支持<font>标签,你可以这样做:

echo "<p class="variablecolor">".$myvariable."</p>";

然后在CSS中执行:
.variablecolor{
color: blue;}

<font>标签在HTML5中不被支持。请使用CSS代替。 - Jon B
你可以使用HTML5和CSS来实现以下代码:echo "<p class="variablecolor">".$myvariable."</p>";.variablecolor{ color: blue; } - jerryurenaa
我其实不确定终端是否使用HTML/CSS标准,但我认为这值得评论。我已经撤销了我的反对票,因为那是一个错误的假设,抱歉。 - Jon B

2

这是一个老问题,但没有人回答有关在终端中居中文本的问题。

/**
 * Centers a string of text in a terminal window
 *
 * @param string $text The text to center
 * @param string $pad_string If set, the string to pad with (eg. '=' for a nice header)
 *
 * @return string The padded result, ready to echo
 */
function center($text, $pad_string = ' ') {
    $window_size = (int) `tput cols`;
    return str_pad($text, $window_size, $pad_string, STR_PAD_BOTH)."\n";
}

echo center('foo');
echo center('bar baz', '=');

只需将 STR_PAD_BOTH 更改为 STR_PAD_LEFT(因为您正在左侧应用填充以将消息推向右侧)。请参阅 str_pad 文档。 - Mikkel

1

试试这个

<?php 
echo '<i style="color:blue;font-size:30px;font-family:calibri ;">
      hello php color </i> ';
//we cannot use double quote after echo , it must be single quote.
?>

1

0
如果要在浏览器中输出,应该使用CSS。这还需要将注释包装在HTML标签中。类似于:
echo '<p style="color: red; text-align: center">
      Request has been sent. Please wait for my reply!
      </p>';

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接