<Mr.ElectroNick>
/* personal website */

Как убрать комментарии из файлов при помощи preg_replace

В некоторых случаях при необходимости открыть какой либо файл содержащий комментарии и найти в нем что то — возникает необходимость предварительно удалить комментарии. Это решается при помощи функции PHP: preg_replace

Удаляем комментарии в .conf файле apache

Как один из примеров — файлы конфигурации apache. По стандарту закоментированые строки начинаются с решетки — #

Пример ниже открывает файл и удаляет из него все строки с комментариями

$file = file_get_contents(MY_APACHE_PATH.'/conf/extra/httpd-vhosts.conf'); // open file
$file = preg_replace('/#.*[\r][\n]/','',$file); // remove comments

Удаляем однострочные и многострочные комментарии в PHP файлах

Пример ниже показывает как очистить PHP файл от всех возможных комментариев

// открываем файл
$file = file_get_contents('somefile.php');
// удаляем строки начинающиеся с #
$file = preg_replace('/#.*/','',$file);
// удаляем строки начинающиеся с //
$file = preg_replace('#//.*#','',$file);
// удаляем многострочные комментарии /* */
$file = preg_replace('#/\*(?:[^*]*(?:\*(?!/))*)*\*/#','',$file);

Очивидно что регулярные выражения крайне удобны :-)