Napisałem skrypt, w którym chciałbym pokolorować pytania do SQL. Zanalazłem klasęklasę, jednakże wydaje mi się ona zbyt rozbudowana (4 pliki). Przpomniałem sobie, że tu na forum też jest kolorowanie składni SQL

Zdecydowałem się na napisanie tego postu ze względu na to, że może któryś z użytkowników forum zna taką funkcję / sam ją napisał.
Napisałem coś takiego:
<?php $words['clauseG'] = ' (CREATE|TABLE|SELECT|FROM|WHERE|ORDER BY|GROUP BY|LIMIT|INSERT INTO|VALUES|U
PDATE|SET|create table|select|from|where|order by|group by|limit|insert into|valu
es|update|set) '; $words['clauseL'] = ' (AND|INNER JOIN|OR|OUTER JOIN|LEFT JOIN|RIGHT JOIN|and|inner join|or|outer j
oin|left join|right join) '; $words['clauseI'] = ' (AS|ON|DESC|DISTINCT|SQL_CALC_FOUND_ROWS|as|on|desc|distinct|sql_calc_found_
rows) '; $words['function'] = ' (AVG|MAX|IF|CONCAT|DATE_FORMAT|SUBSTRING|avg|max|if|concat|date_format|subst
ring) '; $words['operator'] = '([<>]{0}=|!=|<>|>[=]{0}|<[=]{0}|>=|<=|\+|-|\/)'; $words['numeric'] = '([0-9]+)'; $words['string'] = '('[^']*')'; $words['comma'] = '(,)'; $words['period'] = '(\.)'; $words['asterix'] = '(\*)'; $words['open'] = '(\()'; $words['close'] = '(\))'; $words['key'] = '(\`[^']*\`)'; ); $re_query = $query; foreach($words AS $key=>$expr) { $re_query = ($Style[$key][1]) ? preg_replace("\"$expr\"", "<span style=\"".$Style[$key][0]."\">\\1</span>", $query) : preg_replace("\"$expr\"", "<span style=\"".$Style[$key][0]."\">\\1</span>", $query); } ?>
No, ale coś nie działa najlepiej

Pozdrawiam