Конвертировать HTML в правильный текст?
Есть ли способ, как я могу преобразовать HTML в обычный текст? Я перепробовал все, от raw до очистки, и даже самоцвет Mail с его методом text_part, который должен делать именно это, но у меня не работает.
Мой лучший выстрел до сих пор был strip_tags(strip_links(resource.body))
но <p>
, <ul>
и т. д. не были правильно преобразованы.
Это более или менее то, что я имею в HTML:
Hello
This is some text. Blah blah blah.
Address:
John Doe
10 ABC Street
Whatever City
New Features
- Feature A
- Feature B
- Feature C
Check this out: http://www.google.com
Best,
Admin
который превращается в нечто подобное
Hello
This is some text. Blah blah blah.
Address: John Doe 10 ABC Street Whatever City
New Features Feature A Feature B Feature C
Check this out: http://www.google.com
Best, Admin
Любая идея?
2 ответа
Нашел решение здесь: https://github.com/alexdunae/premailer/blob/master/lib/premailer/html_to_plain_text.rb
Работает как шарм!
Rails 4.2.1 имеет #strip_tags
встроенный метод специально для удаления тегов HTML.
Некоторые примеры:
strip_tags("Strip <i>these</i> tags!")
=> Уберите эти теги!
strip_tags("<b>Bold</b> no more! <a href='more.html'>See more here</a>...")
=> Жирный не более! Подробнее здесь...
strip_tags("<div id='top-bar'>Welcome to my website!</div>")
=> Добро пожаловать на мой сайт!
Проверьте это в документации по API.