如何在文本太长时截断文本并突出显示搜索关键字
How to truncate the text and highlight search keyword when the text is too long
我在 Rails
应用程序中使用 Ransack
gem
作为搜索功能。我在搜索结果中突出显示了搜索关键字参数:params[:search]
。我已经使用 highlight
辅助方法
成功完成了
<%= highlight(@description.slice(0..50), params[:search]) %>
如果关键字出现在 @description
的第一个 50
字符之间,则此方法工作正常
但是如果关键字出现在50个字符之后,如何限制字符数来突出它。
我自己找到了一个解决方案并添加为答案。还有其他有效的解决方案吗?
excerpt
辅助方法可用于提取与短语的第一个实例匹配的文本。
<%= highlight(excerpt(@description, params[:search], radius: 50), params[:search]) %>
有关 TextHelper
的更多详细信息:http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html
我在 Rails
应用程序中使用 Ransack
gem
作为搜索功能。我在搜索结果中突出显示了搜索关键字参数:params[:search]
。我已经使用 highlight
辅助方法
<%= highlight(@description.slice(0..50), params[:search]) %>
如果关键字出现在 @description
50
字符之间,则此方法工作正常
但是如果关键字出现在50个字符之后,如何限制字符数来突出它。
我自己找到了一个解决方案并添加为答案。还有其他有效的解决方案吗?
excerpt
辅助方法可用于提取与短语的第一个实例匹配的文本。
<%= highlight(excerpt(@description, params[:search], radius: 50), params[:search]) %>
有关 TextHelper
的更多详细信息:http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html