我有一些正文采用了文本格式。我使用Sphinx进行全文搜索,希望能在搜索结果中突出显示查询内容。Sphinx提供了以下类似的内容:
A *simple* _<span class="highlight">example</span>_.
我想要删除所有的文本格式,但是保留高亮标签,就像这样
A simple <span class="highlight">example</span>.
Redcloth宝石能否实现这一功能?
我有一些正文采用了文本格式。我使用Sphinx进行全文搜索,希望能在搜索结果中突出显示查询内容。Sphinx提供了以下类似的内容:
A *simple* _<span class="highlight">example</span>_.
我想要删除所有的文本格式,但是保留高亮标签,就像这样
A simple <span class="highlight">example</span>.
strip_tags (RedCloth.new(simple_input).to_html)
strip_tags 方法位于 ActionView::Helpers::TextHelper 模块中。更多信息请参见http://apidock.com/rails/ActionView/Helpers/TextHelper/strip_tags。
我还没有使用过Sphinx,但从你的问题来看,似乎 <span class="highlight">..</span>
是Sphinx在将文本作为搜索结果输出时添加的。
我目前不知道RedCloth中是否有任何方法,但基于RedCloth的Vidibus-Textile Gem添加了一个to_text
方法,这可能对你有用。
当然,在Sphinx添加标签之前,你需要确保它被调用。