我在 Rails 中有一串 HTML。我想在不包括 HTML 标记的一定数量的字符之后截断字符串。另外,如果拆分恰好落在开始和结束标签的中间,我想关闭开放标签。例如;
html = "123<a href='#'>456</a>7890"
truncate_markup(html, :length => 5) --> "123<a href='#'>45</a>"
原文由 Jesse Hattabaugh 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在 Rails 中有一串 HTML。我想在不包括 HTML 标记的一定数量的字符之后截断字符串。另外,如果拆分恰好落在开始和结束标签的中间,我想关闭开放标签。例如;
html = "123<a href='#'>456</a>7890"
truncate_markup(html, :length => 5) --> "123<a href='#'>45</a>"
原文由 Jesse Hattabaugh 发布,翻译遵循 CC BY-SA 4.0 许可协议
常规 truncate
函数工作正常,只需传递 :escape => false
作为保持 HTML 完整的选项。例如:
truncate(@html_text, :length => 230, :omission => "" , :escape => false)
*编辑 我没有非常仔细地阅读问题(或根本没有阅读问题),所以这个答案没有解决这个问题……这是我碰巧正在寻找的答案,所以希望它可以帮助 1 或 2 人: )
原文由 msanteler 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答1.5k 阅读✓ 已解决
2 回答882 阅读✓ 已解决
2 回答2.1k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答899 阅读✓ 已解决
2 回答782 阅读
1 回答771 阅读✓ 已解决
有两个完全不同的解决方案,它们都具有相同的名称:
truncate_html