Gem 什么 truncate_html gem 适合中文?

linjunhalida · 2011年12月22日 · 最后由 huacnlee 回复于 2012年02月04日 · 3942 次阅读

我用这个 gem 来 truncate html, 发现会把中文标点过滤掉,大家用什么 gem 呢? https://github.com/ianwhite/truncate_html

我也想找 如果不考虑 IE 老版本的话,可以用 CSS 实现

发现过滤中文标点是一个 issue, 有印度大哥先 K 了... 看看源码找找问题出现在哪里..

truncate_html 我看了一下。和预想的一样,按 HTML 节点拆开,然后遍历节点里的内容字符数。做成 helper 对 rails 会有依赖。可以考虑做一个 gem,把函数包裹一下。这样就可以通用

最佳方案还是这个吧:

text-overflow: ellipsis;

IE 6 支持 http://msdn.microsoft.com/en-us/library/cc351024v=vs.85).aspx(

只有旧版本的 Firefox (6 或者以下) 有问题 http://stackoverflow.com/questions/802175/truncating-long-strings-with-css-feasible-yet

https://github.com/xiaods/truncate_html 我 fork 了一份,升级到 rspec2 && bundle.修了一个 bug. have a look

strip_tags 后 再 truncate 是不是符合你的需要

<%= (truncate(strip_tags(post.body), :length => 30, :omission => '...')).html_safe %> 我也一直用 ls 說的辦法,不是挺好麼?

#7 楼 @Victor 中文和英文的表现长度是不同的。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号