首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActionView::Helpers::TextHelper节选助手功能不全

ActionView::Helpers::TextHelper节选助手功能不全
EN

Stack Overflow用户
提问于 2013-07-15 16:37:57
回答 2查看 190关注 0票数 0

我正在使用模块ActionView::Helpers::TextHelper从文本中生成一个摘录。如果一个单词存在不止一次,它只会摘录第一次出现。

<%=节选(‘你好,我是一个Ruby爱好者,一个Rails爱好者,永远不会回到PHP,’爱人‘,:radius => 5) %> "...lover,..."

我原以为返回字符串是这样的,因为“情人”这个词出现了两次:

" ...lover,...lover.“

如何让它显示多个关键字的出现?

我使用的是rails 3.2.11。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-15 16:54:32

摘录(文本、短语、选项= {})链接:

从匹配短语第一个实例的文本中提取摘录。:radius选项扩展短语第一次出现的每一侧的节选。

如文档所述,只是搜索短语的第一个实例,而不是它的每个实例。

票数 1
EN

Stack Overflow用户

发布于 2019-04-14 16:11:26

我一直在使用在我的multi_excerpt中定义的multi_excerpt()方法

代码语言:javascript
复制
# Returns a summary of +text+ in the form of +phrase+ excerpts
#
#   multi_excerpt('This string is is a very long long long string ', 'string', radius: 5)
#   # => ...This string is i...long string ...
def multi_excerpt(text, phrase, options = {})
  return unless text && phrase

  radius   = options.fetch(:radius, 10)
  omission = options.fetch(:omission, "...")

  raise if phrase.is_a? Regexp
  regex = /.{,#{radius}}#{Regexp.escape(phrase)}.{,#{radius}}/i
  parts = text.scan(regex)
  "#{omission}#{parts.join(omission)}#{omission}"
end

在这里链接我相关的帖子按下

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17659275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档