Регулярное выражение, совпадающее со всем текстовым содержимым ввода HTML - PullRequest
1 голос
/ 06 декабря 2009

У меня есть статьи на моем сайте, которые я бы хотел исправить и перевести автоматически. Но мне нужно получить контент без HTML-тегов.

Идея состоит в том, чтобы иметь регулярное выражение, которое могло бы извлекать весь контент между тегами (и, если возможно, также контент, найденный в полях тегов, таких как <img alt='Little house'>). Проблема в том, что я не знаю, как написать такое регулярное выражение. Есть идеи?

Ответы [ 4 ]

2 голосов
/ 06 декабря 2009

Я бы рекомендовал использовать HTML-парсер , а не полагаться на регулярное выражение. Синтаксический анализ HTML с помощью регулярных выражений, как правило, запрещен, и его практически невозможно получить во всех случаях. Здесь много вопросов по SO, которые приходят к одному и тому же выводу.

РЕДАКТИРОВАТЬ похоже, что пара из нас имела ту же идею ... Кроме того, вот вопрос , который обсуждает больше парсеров.

1 голос
/ 06 декабря 2009

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

string pattern = @"(<(/?[^>]+)>)"
strippedString = Regex.Replace(str, pattern, string.Empty);
1 голос
/ 06 декабря 2009

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

Я бы порекомендовал вам в этом разобраться с библиотекой парсинга HTML, например, Html Agility Pack .

0 голосов
/ 06 декабря 2009

Не уверен, что это поможет, но у меня есть возможность переводить статьи на моем сайте на предпочитаемый читателями язык, я сделал это с помощью виджета перевода Bing , поэтому я не делаю разбор HTML, все сделано для меня.

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