首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >rails truncate方法添加特殊字符

rails truncate方法添加特殊字符
EN

Stack Overflow用户
提问于 2012-09-15 16:57:40
回答 1查看 1.9K关注 0票数 4

我有这个html文本:

代码语言:javascript
运行
复制
<p> I'm a html &nbsp; text</p>

为了在我的网页上显示它,我首先对它进行消毒,并删除标签:

代码语言:javascript
运行
复制
sanitize(best_practice.milestone.description, :tags=>[])

然后我显示ok,&nbsp;被删除。

但是如果我决定像这样截断文本:

代码语言:javascript
运行
复制
sanitize(best_practice.milestone.description, :tags=>[]).truncate(30)

&nbsp;在我的网页上再次可见。所有的特殊字符实际上都是可见的。

我可以做些什么来避免截断,使这个特殊的字符可见?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-12 22:30:47

处理清理帮助器和截断可能很棘手。有很多不同的清理助手: h,CGI::escapeHTML,sanitize,strip_tags,html_safe等等。如果一个字符串在开始和结束标签之间被截断,或者在一个特殊的HTML字符中间被截断,那么清理和截断就不能很好地协同工作。

下面的语句似乎是有效的

代码语言:javascript
运行
复制
sanitize(text, :tags=>[]).truncate(30, :separator => " ").html_safe

诀窍是传递一个:分隔符选项,以便在自然换行处截断文本。

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

https://stackoverflow.com/questions/12435983

复制
相关文章

相似问题

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