рельсы, учитывая строку HTML от WYSIWYG - как получить только текст - PullRequest
3 голосов
/ 27 ноября 2010

У меня есть большая строка HTML из WYSIWYG и я хочу показать строку усечений, состоящую только из текста, без тегов html или html Есть ли способ сделать это встроенным в рельсы или мне нужен gsub, чтобы избавиться от всех html скобок?

Спасибо

Ответы [ 3 ]

5 голосов
/ 27 ноября 2010

Rails уже включает несколько мощных помощников по очистке .

string = '<span id="span_is"><br><br><u><i>Hi</i></u></span>'
strip_tags(string)
1 голос
/ 27 ноября 2010

Это зависит от того, насколько сложен ваш HTML, но вы, безусловно, можете использовать Nokogiri и XPath для запроса текста, который вы хотите из HTML. Это зависит от того, сколько вы хотите проанализировать, и оправдывает ли это дополнительную библиотеку для этого.

0 голосов
/ 27 ноября 2010

Парсер может это сделать, но это будет излишним, если у вас есть простой HTML для представления.Что-то вроде Loofah или sanitize может удалить все теги с помощью Nokogiri для анализа HTML, а затем удалить теги, оставив вас с текстом.

require 'sanitize'

html = '<html><body>Jackdaws love my giant sphinx of quartz.</body></html>'
puts Sanitize.clean(html)
# >> Jackdaws love my giant sphinx of quartz.

IЯ думаю, что люфа более способна, чем дезинфекция, но если все, что вы хотите сделать, это отбросить метки, то дезинфекция может быть лучшим способом.

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