gpt4 book ai didi

ruby-on-rails - 从 rails 中的属性中删除所有 html 标签

转载 作者:行者123 更新时间:2023-12-03 23:59:26 24 4
gpt4 key购买 nike

我有一个项目模型,它有一些文本属性,一个是摘要。我有一些项目在摘要中包含 html 标签,我想将其转换为纯文本。我有这个方法,它有一个正则表达式,可以删除所有的 html 标签。

def strip_html_comments_on_data
self.attributes.each{|key,value| value.to_s.gsub!(/(<[^>]+>|&nbsp;|\r|\n)/,"")}
end

我也有一个 before_save 过滤器
before_save :strip_html_comments_on_data

问题是保存项目后html标签仍然存在。我错过了什么?

而且,是否有一种非常简单的方法可以在所有模型中调用该方法?

谢谢,

尼古拉斯·霍克·伊萨扎

最佳答案

未经测试

include ActionView::Helpers::SanitizeHelper

def foo
sanitized_output = sanitize(html_input)
end

其中 html_input 是一个包含 HTML 标签的字符串。

编辑

您可以通过传递 :tags=>[] 去除所有标签作为一个选项:
plain_text = sanitize(html_input, :tags=>[])
虽然阅读了 docs我看到有一个更好的方法:
plain_text = strip_tags(html_input)
然后按照 smotchkiss 把它变成一个前置过滤器你可以走了。

关于ruby-on-rails - 从 rails 中的属性中删除所有 html 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2576394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com