как добиться извлечения текста на рельсах? - PullRequest
5 голосов
/ 23 ноября 2010

У меня есть страница со списком статей, она должна показать некоторую информацию о содержании этой статьи, если я только использую

 truncate @article.content,:length=>100

он покажет какой-нибудь html-тег и не покажет пользователю действительно содержимое, поэтому я хочу найти какой-нибудь способ получить извлечение текста из содержимого, поэтому я хочу спросить, есть ли какой-то встроенный способ добиться этого

Ответы [ 3 ]

7 голосов
/ 23 ноября 2010

Вы можете использовать strip_tags для удаления тегов html:

truncate(strip_tags(@article.content), :length=>100)
0 голосов
/ 26 ноября 2010
  1. Все строки в RoR3 очищаются по умолчанию, преобразуя специальные символы в html-объекты.
  2. Если вы хотите сохранить данные презентации пользователя (как форматирование в сообщении в блоге), вы можете использовать библиотеку типа Nokogiri для проверки усеченного HTML-кода, что-то вроде строк. =

    def html_preserving_truncate(data); html = truncate(data, lenght: 100); Nokogiri::HTML.fragment(html).to_s; end

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

, если вы заботитесь только о текстовом содержимом, но не о тегах, вы можете сначала сделать strip_tags для содержимого.

документы здесь: http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html

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