Что такое регулярное выражение для удаления комментариев HTML? - PullRequest
1 голос
/ 11 марта 2011

Мне нужно удалить несколько тысяч комментариев из документа HTML. Комментарии в этой форме (многострочный):

<p>some HTML</p>
<!--
  FOO
  BAR
  BLAH
-->
<p>more HTML</p>

Какое регулярное выражение я могу использовать при поиске / замене для возврата этого результата:

<p>some HTML</p>
<p>more HTML</p>

Ответы [ 3 ]

1 голос
/ 11 марта 2011

Если вы хотите удалить комментарии только в этом конкретном формате (и оставить все остальные комментарии без изменений):

replace(/^<\!--.*?-->$/mg, "")

. *?это неагрессивный матч.Флаг «m» необходим для того, чтобы сделать его многострочным (поэтому ^ и $ будут соответствовать началу / концу строк соответственно).

Если вы хотите удалить все комментарии:

replace(/<\!--.*?-->/g, "")
1 голос
/ 11 марта 2011

Если у вас есть Dreamweaver, команда «Очистить HTML / XHTML» имеет возможность удалить комментарии не-Dreamweaver. Это должно очень легко решить такую ​​проблему.

0 голосов
/ 11 марта 2011

Вы не должны использовать Regex для этого. Вместо этого попробуйте пакет гибкости HTML.
HTML-пакет Agility

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...