Допустим у вас есть свой форум или гостевая книга, вы хотите что бы после добавления сообщения подсвечивался код, сегодня мы разберём как можно сделать подсветку sql запросов. По этой же схеме можно сделать подсветку PHP кода, или чего угодно.
Для подсветки нам необходимо создать саму функцию которая будет обрабатывать текст, вот эта функция:
<?php
function sql($sql) {
$sql = preg_replace("#(=|+|-|>|<|~|==|!=|<|>|LIKE|NOT LIKE|REGEXP)#i", "<span style='color:orange'>\1</span>", $sql );
$sql = preg_replace("#(MAX|AVG|SUM|COUNT|MIN)(#i", "<span style='color: #DF0C16'>\1</span>(", $sql );
$sql = preg_replace("!("|'|')(.+?)("|'|')!i", "<span style='color:red'>\1\2\3</span>", $sql );
$sql = preg_replace("#s{1,}(AND|OR)s{1,}#i", " <span style='color: #DF0C16'>\1</span> ", $sql );
$sql = preg_replace("#(WHERE|MODIFY|CHANGE|AS|DISTINCT|IN|ASC|DESC|ORDER BY|SET)s{1,}#i", "<span style='color:green'>\1</span> ", $sql );
$sql = preg_replace("#(FROM|INTO)s{1,}(S+?)s{1,}#i", "<span style='color:green'>\1</span> <span style='color:orange'>\2</span> ", $sql );
$sql = preg_replace("#(SELECT|INSERT|UPDATE |DELETE|ALTER TABLE|DROP)#i", "<span style='color:#DF0C16;font-weight:bold'>\1</span>", $sql );
return $sql;
};
?>
Функция большая и возможно кому то не понятная, но в ней нет ничего сложного.
Функция получает текст, и через preg_replace нужный нам участок кода выделяется указанным цветом.
При желании вы легко можете дополнить функцию, или внести в неё изменения, будь то цвет или новые слова.
Если ваш текст хранится в текстовых файлах, функцию можно вызвать так:
<?php
//Считываем файл в массив
$general = file("имя_файла.txt");
for ($i=0; $i < count($general); $i++) {
//подключаем нашу функцию
$general[$i] = sql ($general[$i]);
//Выводим результат на экран.
echo $general[$i];
}
?>
Теперь ваша страничка с кодом будет смотреться гораздо лучше и понятнее.