RegEx полосы HTML-теги проблема - PullRequest
0 голосов
/ 28 апреля 2010

Я пытался убрать теги html, используя regex, заменить на шаблон "<[^>] *>" из сгенерированного html слова, который выглядит следующим образом:

http://www.w3.org/TR/REC-html40"&gt;

<! - [if! mso]>

<! [ENDIF] -> <о: SmartTagType namespaceuri = "urn: schemas-microsoft-com: office: smarttags" name = "place" downloadurl = "<a href="http://www.5iantlavalamp.com/"/&gt" rel="nofollow noreferrer">http://www.5iantlavalamp.com/"/&gt; <! - [if! mso]> <! [ENDIF] ->

Все отлично работает, кроме жирных линий, у кого-нибудь есть идеи, как их сопоставить?

Спасибо

* * Александар тысяча сорок-девять

Ответы [ 3 ]

3 голосов
/ 02 мая 2010

Ваше регулярное выражение не учитывает, что комментарии могут содержать > символов, которые не заканчивают комментарий. Попробуйте это регулярное выражение:

<!--.*?-->|<[^>]*>

Вам нужно будет включить опцию, чтобы . соответствовал разрывам строк. Как это сделать, зависит от приложения или языка программирования, с которым вы используете это регулярное выражение. Например. в Perl вы бы использовали флаг /s. В .NET вы бы установили RegexOptions.SingleLine.

0 голосов
/ 28 апреля 2010

Люди обычно советуют использовать синтаксический анализатор вместо регулярных выражений при работе с HTML.

В случае, если у вас есть для использования регулярных выражений :), вы можете использовать-

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