如何使用 Rails 3 将文本截断到最接近的位置,而不在单词中间进行剪切?
例如,我有字符串:
"Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum."
如果我剪它,我想像这样剪:
"Praesent commodo cursus magna, vel scelerisque nisl ..."
而不是:
"Praesent commodo cursus magna, vel scelerisque nisl conse..."
最佳答案
如果将分隔符传递给 truncate 方法,它将执行自然分词,而不是在单词中间截断
这样的东西应该可以工作(如果您想要默认的 30 个字符,则可以将长度更改为您想要的长度,将其完全删除):
truncate("Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.", :length => 17, :separator => ' ')
有关截断选项的更多信息可以在 Documentation 中找到。
关于ruby-on-rails - 截断字符串而不在 Rails 中的单词中间进行切割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8714045/