我有一个Project模型,它有一些文本属性,一个是摘要.我有一些项目在摘要中有html标签,我想将其转换为纯文本.我有这个方法有一个正则表达式,将删除所有的html标签.
def strip_html_comments_on_data self.attributes.each{|key,value| value.to_s.gsub!(/(<[^>]+>| |\r|\n)/,"")} end
我也有一个before_save过滤器
before_save :strip_html_comments_on_data
问题是保存项目后,html标签仍然存在.我失踪了什么
谢谢,
NicolásHock Isaza
解决方法
未经测试
include ActionView::Helpers::SanitizeHelper def foo sanitized_output = sanitize(html_input) end
其中html_input是包含HTML标签的字符串.
编辑
您可以通过传递:tags => []作为选项来剥离所有标签:
plain_text = sanitize(html_input,:tags => [])
plain_text = strip_tags(html_input)
然后让它成为一个过滤器,每个smotchkiss,你很好去.