Předpokládejme, že mám php soubor a chci změnit barvu textu svého výstupu pro aplikaci založenou na konzole…
<?php
$prompt = "What Is Your Name: ";
echo $prompt;
$answer = "You Entered: " . rtrim( fgets( STDIN ));
echo $answer;
?>
Chci změnit barvu textu $answer
.
Je to možné? Pokud ano, jak to mohu udělat?
Přijatá odpověď:
Nyní můžete v Ubuntu 16.04 používat 24bitové true color v terminálu
- Sekvence escape v popředí je
^[38;2;<red>;<green>;<blue>m
- Sekvence escape na pozadí je
^[48;2;<red>;<green>;<blue>m
<red> <green> <blue>
rozsah od 0 do 255 včetně.- Escape sekvence
^[0m
vrátí výstup na výchozí.
Viz Tabulka barevných kódů RGB
Ukázka 24bitové skutečné barvy ve skriptu:
Zde je upravený skript pro vytvoření barevného výstupu.
<?php
$prompt = "What Is Your Name: ";
echo $prompt;
$answer = rtrim( fgets( STDIN ));
echo "\033[38;2;0;102;0m You \033[38;2;255;0;255m Entered: \033[38;2;255;255;0m $answer \033[0m \n";
?>
Ukázkový výstup výše uvedeného skriptu: