Во втором параметре функции pregrepiace () используется результат, сохраненный в двух круглых скобках: \\1 соответствует имя функции, \\2- пробелы между именем и открывающей круглой скобкой.
После этого происходит подсветка операторов темно-зеленым цветом.
Заключительный этап состоит в подсветке темно-синим цветом зарезервированных ключевых слов языка РНР, таких как while, if, else и, т. д. Так как выделить эти ключевые слова на фоне других элементов программы достаточно сложно, они помещаются в массив и обрамляются круглыми скобками, что обеспечивает сохранение их в качестве первого параметра (\\i). Массив замены $repiace, выступающий в качестве второго аргумента функции preg_ replaced, автоматически формируется при помощи функции arrayfiiio. Для обеспечения подсветки других языков программирования в массив $str необходимо добавить зарезервированные в этих языках слова.
После построения строковой функции подсветки синтаксиса языка РНР не составляет труда создать файловую версию этой функции- fhighiightо, код которой приведен в листинге 5.17.
Как было упомянуто в начале раздела, помимо функции included, существует функция require о, выполняющая аналогичные действия. Различия в этих функциях заключаются в их реакции на отсутствие включаемого файла. Если в случае функции included включаемый файл отсутствует, то реакцией на это является единственно вывод в окно браузера соответствующего предупреждения, который можно подавить, разместив перед included символ е. Отсутствие файла по пути, который передается в качестве аргумента функции required, приводит к остановке скрипта.
Для обеих функций существуют аналоги с суффиксом _once: include_ once () и require_once О , позволяющие включить файл в документ только один раз, не зависимо от того, сколько попыток включения предпринимается. Это удобно использовать при вложенных включениях, во избежание ошибок при повторном включении файлов, содержащих объявления функций.