【PHP】コンソール上の標準出力に色を付ける。

めも。

下記のようにANSI エスケープシーケンスを用いる。

以下例。

$str = 'ほげ';

// 文字を赤くする
echo "\033[0;31m$str\033[0m";

// 文字の背景を赤くする
echo "\033[41m$str\033[0m"

// 文字の色を反転させる
echo "\033[7m$str\033[0m";

といった感じ。

ルールは下記の通り。

\033[コードm文字列\033[0m

コードの部分は下記のようなものが指定可能

■文字色

Black 0;30
Blue 0;34
Green 0;32
Cyan 0;36
Red 0;31
Purple 0;35
Brown 0;33
Light Gray 0;37
Dark Gray 1;30
Light Blue 1;34
Light Green 1;32
Light Cyan 1;36
Light Red 1;31
Light Purple 1;35
Yellow 1;33
White 1;37

■背景色

Black 44
Cyan 46
Red 41
Purple 45
Brown 43
Light Gray 47

■その他

下線 4
色の反転 7