2009-11-07 28 views
18

Come cambio il colore di un messaggio echo e centrare il messaggio nel PHP che ho scritto. La linea che ho è:PHP Echo text Colore

echo 'Request has been sent. Please wait for my reply!';

+0

E centrare il commento? –

risposta

11

Che ne dite di scrittura di alcuni tag HTML e CSS alcuni se stai output questo al browser?

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

Tuttavia, non funziona dalla console, solo tramite browser.

0

Se fa eco a un browser, è necessario utilizzare i CSS. Ciò richiederebbe anche il commento avvolto in un tag HTML. Qualcosa di simile:

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

Che ne dite di scrivere alcune sequenze di escape?

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

Non funziona attraverso il browser, però, solo dal console;))

+1

c'è qualche documentazione su questi colori e opzioni? – haynar

+4

Sì, google per "colori bash" – kolypto

+3

Ecco lo script che utilizzo a questo scopo, http://asheepapart.blogspot.com/2011/02/add-color-to-php-echo-in-cli.html – Ben

3

E se stai usando Command line su Windows, scarica un programma ANSICON che abilita la console ad accettare i codici colore. ANSICON è disponibile presso https://github.com/adoxa/ansicon/releases

+1

corretto - ora va bene. –

1

Prova questa

<?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

Questa è una vecchia questione, ma nessuno ha risposto alla domanda per quanto riguarda la centratura del testo in un terminale.

/** 
* 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', '='); 
+0

È possibile fare qualcosa giusto? – azurinko

+0

Sì, basta cambiare 'STR_PAD_BOTH' in' STR_PAD_LEFT' (perché stai applicando il padding sul lato sinistro per spingere il messaggio a destra). Vedi il [doc su 'str_pad'] (https://secure.php.net/str_pad) – Mikkel