2009-04-26 2 views
0

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

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

+2

Вы ищете решение для кода или какую-либо установку Exchange? –

+0

Любое решение поможет. В процессе работы я использую регулярное выражение для удаления любых тэгов HTML, однако это не удаляет все CSS. Настройка Exchange была бы идеальной, но я попробовал настройки, то есть установил IMAP только предоставление электронной почты в виде обычного текста. Однако, похоже, он не работает, когда я читаю электронные письма. – James

+0

Могу я предложить обновить заголовок, чтобы отразить, что речь идет конкретно об обмене сервером обмена почтовыми серверами, а не об общем вопросе «как мне преобразовать html в обычный текст». – hlovdal

ответ

1

я обычно беру один из этих подходов ...

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

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

+0

Привет, в ту минуту, когда я использую регулярное выражение, которое я создал сам, и он удаляет только HTML (который оставляет CSS), я не чувствую себя на 100% комфортно, используя этот подход. В идеале я бы хотел настроить сервер Exchange, который бы окончательно преобразовал любую почту, которую я получаю в конкретный почтовый ящик, как обычный текст. Я попытался настроить параметры IMAP для почтового ящика только на обычный текст ... он работал некоторое время, а затем внезапно остановился! – James

+0

Решил пойти с библиотекой HtmlAgilityPack. – James

0

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

+0

Привет, это очень похоже на решение, которое я мог бы использовать. Как и где бы я запускал скрипт вроде этого? – James

+0

Ссылка на Hpricot - http://wiki.github.com/why/hpricot. Вам понадобится язык программирования Ruby, чтобы запустить его http://www.ruby-lang.org/en/. – airportyh

+0

Привет, я решил против этого метода, поскольку у меня нет большого опыта работы с Ruby. – James