PCRE для PHP. Как программно удалять комментарии в стилях C и HTML?

программирование php regexp комментарии pcre

Отдельно
/* комментарий */
/* в т.ч.
многострочный */
я нашёл как удалять:
$a=mb_eregi_replace('/\*.*\*/','--',$a);
Думаю то же будет с HTML видом <!-- .. --> можно сделать то же самое.
А вот с однострочным видом
// комментарий
что-то не получается.

Примечание:
Решил пока так:
$a=mb_eregi_replace('\/{2}.*','',$a,'s');
$a=mb_eregi_replace('<!--.*-->','',$a,'s');
$a=mb_eregi_replace('/\*.*\*/','',$a);
Лучшим выберу ответ, который поможет совместить все три правила в одно.

Примечание:
в третьей строке тоже можно параметр 's'.

Примечание:
Без имени (Вячеслав Юрьевич) 03.10.2012, 13:12:02
Спасибо за ответ! Подскажите пожалуйста, почему вы в первой подмаске применили [\w\W]* а не .* ?
И отдельное СПАСИБО за напоминание об интернет-ссылках! Я их не учитывал.
Ответы:
preg_replace('#(/\*[\w\W]*\*/)|((?<=[^:])//.*$)|(<!--.*-->)#','',$a);


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.