highlight_string, solo que aplicandole una pequeña chapucilla...
Código PHP:
//$codigo es la que contiene el codigo coloreado con highlight_string
echo preg_replace('/<font color="([0-9]+)">([^<\/font>])<\/font>/', '<span style="color: \1;">\2</span>', $codigo);
Creo que eso debería funcionar.
Ya estaba contestado en:
http://php-hispano.net/foros/PHP/5821