Visto che non ci sono pillole riguardanti questo argomento, ho deciso di allegare uno script molto semplice sulla conversione dei colori hex-dec e viceversa

Il risultato è questo: Testodiprovaasdblatxt

Codice PHP:
$text "Testo di prova asd bla txt";
echo 
colorize($text,"#000000","#FFCC00");

function 
colorize($text,$from,$to) {    
    
$from_red hexdec(substr(str_replace("#","",$from),0,2));
    
$from_green hexdec(substr(str_replace("#","",$from),2,2));
    
$from_blue hexdec(substr(str_replace("#","",$from),4,2));
    
    
$to_red hexdec(substr(str_replace("#","",$to),0,2));
    
$to_green hexdec(substr(str_replace("#","",$to),2,2));
    
$to_blue hexdec(substr(str_replace("#","",$to),4,2));

    
$length strlen($text);
    
    
$jump_red round(($to_red-$from_red)/$length);
    
$jump_green round(($to_green-$from_green)/$length);
    
$jump_blue round(($to_blue-$from_blue)/$length);
    
    for(
$i=0;$i<$length;$i++) {
        echo 
"<span style='font-size:20px; color:".dechexFix($from_red,$from_green,$from_blue).";'>".$text[$i]."</span>";
        
$from_red += $jump_red;
        
$from_green += $jump_green;
        
$from_blue += $jump_blue;
    }
}

function 
dechexFix($red,$green,$blue) {
    return 
sprintf('#%02X%02X%02X',$red,$green,$blue);

La funzione è piuttosto semplice, scompone in numeri decimali i codici hex indicati fra gli argomenti e si calcola i salti di colore da effettuare ponderando il gap fra il colore di partenza ed il colore di arrivo per il numero di caratteri della stringa, riconvertendo nuovamente gli incrementi in colore hex