Примерный алгоритм - поиск и замена
PHP код:

$str = "Наш текст с тэгами";
$str = htmlspecialchars($str); // преобразуем спецсимволы в html.
$str = str_replace("& l t ; ?php", "<span style='color:blue'> & l t ; ?php</span><span style='color:green'>", $str); // тэг <?php будет синим, а всё внутри него - зелёным
$str = str_replace("? & g t ; ", "</span><span style='color:blue'> ? & g t ;</span>", $str); // здесь зелёный заканчивается
Далее - внутри тэгов <?php и ?> ищем текст, заключённый в кавычки и по краям ставим
<span style='color:red'> и
</span>. Но нужно учитывать, что внутри закавыченного текста может встречаться escape-последовательность типа такого:
"текст \" ещё".
Я в коде написал & g t ; и & l t ; через пробел, потому что оно неправильно отображается
Ещё забыл про комментарии - просматривается каждая строка в коде на начало символов // и до конца строки выделяется оранжевым.
Многострочные комментарии, наверное, проще выделить регулярным выражением по поиску символов /* и */. Я не знаю его)) Можно и без регулярок - просто заменять на
<span color='orange'>/* и
*/</span>.
Что ещё забыл - поправьте) Да и самостоятельно можно
