Как вырезать комментарии, теги из PHP/HTML-кода, текста, SQL-запросов

Иногда бывает необходимо на скорую руку вырезать из какого-то текста, кода, запроса лишнюю на данный момент информацию, например автоматически сгенерированные комментарии /* comments text */, не несущие смысловой нагрузки.

Ниже описан наипростейший пример, поменяв маску в котором можно быстро вырезать вообще что угодно из длинных строк (например, html-теги) типа кода страниц сайтов.

Будем считать, что исходный текст с комментариями уже есть, и работать над ним будет функция preg_replace.
Создадим микро-форму для посылания этого текста на наш web-сервер:

<form action="http://localhost/php/removing_comments.php" method="post">
<textarea cols="100" rows="50" name="query">Вставьте текст</textarea>
<input type="submit" value="Удалить комментарии" />
</form>

В папку php на сервере наложим скрипт removing_comments.php:

$string = $_POST[query];
$pattern = '#/\*[^\/*]+\*/#i';
$replacement = '';
echo '<pre>'.stripslashes(preg_replace($pattern, $replacement, $string)).'< /pre>';

Примечания:
1 — берем наш текст из соотвествующего элемента массива POST
2 — маска регулярного выражения ищет отдельные комментарии
3 — заменяем на ничего
4 — т.к. пересылаемый через POST текст автоматически подвергается обработке функцией addslashes у нас не возникнет проблем при наличии кавычек в тексте. Чтобы удалить экранирующие обратные слэши используем stripslashes.

Соответственно, если на второй строке поменять маску на ищущую определенные теги, например на <div>, то будут вырезаться они.

Пример
Было:

$a = 1; /* first var */
$b = 2; /* second var */
$c = $a + $b; /* summ */

Стало:

$a = 1;
$b = 2;
$c = $a + $b;


Добавление комментария:

 css.php