Преобразовать HTML в обычный текст?

Я могу читать электронные письма от Microsoft Exchange с помощью клиента IMAP от Lumisoft. Я установил настройки сервера обмена для преобразования любой почты в обычный текст. Однако, когда я читаю информацию, кажется, что она все еще содержит HTML / CSS.

Как лучше всего удалить HTML / CSS из текста электронного письма? Или на сервере обмена есть настройка, которую я пропустил?


person James    schedule 26.04.2009    source источник
comment
Вы ищете решение для кода или какую-либо настройку Exchange?   -  person Jose Basilio    schedule 26.04.2009
comment
Любое решение поможет. В качестве обходного пути я использую регулярное выражение для удаления любых HTML-тегов, однако это не удаляет весь CSS. Параметр Exchange был бы идеальным, но я пробовал настройки, то есть настройку IMAP для отправки электронной почты только в виде обычного текста. Однако, когда я читаю электронные письма, похоже, что это не работает.   -  person James    schedule 27.04.2009
comment
Могу ли я предложить обновить заголовок, чтобы отразить, что вопрос конкретно касается взаимодействия с почтовым сервером Exchange, а не общий вопрос о том, как преобразовать html в простой текстовый вопрос.   -  person hlovdal    schedule 27.04.2009
comment
Привет, причина этого в том, что я ищу любое решение проблемы. Я специально не ищу настройки обмена, я ищу любую альтернативу для извлечения текстового тела из электронного письма.   -  person James    schedule 27.04.2009


Ответы (2)


Я обычно использую один из этих подходов ...

  1. Использование регулярных выражений. Это может быть немного сложно сделать правильно, если вам нужно придумать решение, которое также работает со всеми видами недопустимой разметки, но я уверен, что кто-то другой сделал это до вас (Подсказка: Google или поиск SO).

  2. Использование библиотеки парсера HTML. Вы можете найти его для любого популярного языка программирования. Я рекомендую использовать Html Agility Pack.

person Community    schedule 20.05.2009
comment
Привет, в данный момент я использую регулярное выражение, которое я создал сам, и оно только удаляет HTML (который оставляет CSS), но я не чувствую себя на 100% комфортно, используя этот подход. В идеале мне бы хотелось настроить сервер обмена, который бы окончательно конвертировал любую почту, которую я получаю в конкретный почтовый ящик, в виде обычного текста. Я попытался установить в настройках IMAP для почтового ящика только обычный текст ..... он работал какое-то время, а затем внезапно остановился! - person James; 21.05.2009
comment
Решил пойти с библиотекой HtmlAgilityPack. - person James; 06.11.2009

Я не уверен, как именно работает ваша установка, можно ли запускать сценарии и т. Д. Очевидно, что анализатор HTML был бы лучшим способом синтаксического анализа HTML. Например, с Hpricot (библиотека Ruby HTML-синтаксического анализа) вы могли бы сделать puts doc.find_element('body').inner_text, и это распечатало бы текстовое содержимое документа.

person Chuck    schedule 26.04.2009
comment
Привет, это в значительной степени похоже на решение, которое я мог бы использовать. Как и где мне запустить такой сценарий? - person James; 27.04.2009
comment
Ссылка для Hpricot: wiki.github.com/why/hpricot. Для его запуска вам понадобится язык программирования Ruby ruby-lang.org/en. - person airportyh; 27.04.2009
comment
Привет, я отказался от этого метода, так как у меня нет большого опыта работы с Ruby. - person James; 04.05.2009