Ruby, Textile: как получить простой текст без тегов и текстильного формата - PullRequest
3 голосов
/ 26 июля 2011

У меня есть статьи с текстами в текстовом формате. Я делаю полнотекстовый поиск с помощью sphinx и хочу выделить запрос в результатах. Сфинкс, дай мне что-то вроде этого

A *simple* _<span class="highlight">example</span>_.

Я хочу удалить весь текстильный формат, но сохранить метки выделения, например,

A simple <span class="highlight">example</span>.

Возможно ли это с драгоценным камнем из красной ткани?

Ответы [ 2 ]

3 голосов
/ 06 августа 2011

Вы можете обработать содержимое с помощью RedCloth, а затем удалить результаты всех тегов.Так что-то вроде:

strip_tags (RedCloth.new(simple_input).to_html)

strip_tags доступно в модуле ActionView :: Helpers :: TextHelper.http://apidock.com/rails/ActionView/Helpers/TextHelper/strip_tags для получения дополнительной информации.

0 голосов
/ 19 июня 2012

Еще предстоит поработать со Sphinx, но, судя по вашему вопросу, Sphinx добавляет <span class="highlight">..</span> при выводе текста в качестве результата поиска.

В настоящее время я не знаю ни одного метода в RedCloth, но Vidibus-Textile Gem (на основе RedCloth) добавляет метод to_text, который может быть полезен для вашего случая.

Ofc, вам необходимо убедиться, что он вызывается *За 1009 * до Сфинкс добавляет теги span.

...