Я хочу преобразовать HTML-файл с макетом на основе таблицы в обычный текст, чтобы отправить составное электронное письмо через PHP.
Я пробовал несколько различных предварительно созданных классов / функций, которые я нашел в SO, но ни один из них, похоже, не дает достойных результатов, что, как я считаю, связано с макетом на основе таблиц.
Я не хочу использовать свой собственный класс для удаления HTML и форматирования результатов, поскольку я уверен, что есть проблемы с краями, которые я не буду учитывать или не смогу протестировать, пока не столкнусь с ними в производстве.
Лучшее решение, которое я придумал, это:
- Создать временный HTML-файл
- Используйте что-то вроде shell_exec ("/ путь / к / lynx -dump временный.html"); для создания текстовой версии электронного письма
- Используйте регулярное выражение, чтобы избавиться от любых оставшихся нежелательных тегов
Это работает нормально, но меня немного беспокоит, что это не оптимальный способ создания приличного составного письма. Кто-нибудь знает лучший способ?
Чтобы уточнить, я уже безуспешно пробовал следующее:
- класс html2text - http://www.chuggnutt.com/html2text.php
- Markdownify - http://milianw.de/projects/markdownify/
- html2text версия 2 - http://www.howtocreate.co.uk/php/html2texthowto.html
- http://journals.jevon.org/users/jevon-phd/entry/19818
-dump
, чтобы вернуть текст обратно в PHP. Используя переключатель-stdin
(только для UNIX), вы также можете передавать HTML через STDIN в lynx. С-verbose
вы сможете подавить теги изображений. Я обнаружил, что lynx всегда очень хорош для создания текстовых представлений источников HTML. - person hakre   schedule 27.12.2011