加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何最好地使用rails清理丰富的html?

发布时间:2020-12-17 03:50:52 所属栏目:百科 来源:网络整理
导读:我正在寻找有关如何在Web应用程序中清理提交的html的建议,以便将来可以重新显示样式或未封闭的标签破坏应用程序的布局. 在我的应用程序上,用户使用YUI Rich文本编辑器提交了丰富的HTML,默认情况下运行一些正则表达式来清理输入,我还调用[filter_MSWord] [1]
我正在寻找有关如何在Web应用程序中清理提交的html的建议,以便将来可以重新显示样式或未封闭的标签破坏应用程序的布局.

在我的应用程序上,用户使用YUI Rich文本编辑器提交了丰富的HTML,默认情况下运行一些正则表达式来清理输入,我还调用[filter_MSWord] [1]来捕获从办公室发送的任何垃圾

在后端,我正在运行ruby-tidy以在显示为注释之前清理html,但有时粘贴不好的html仍会影响我正在使用的应用程序的布局 – 我该如何防范这个?

FWIW这里是我正在使用的消毒剂设置 –

module HTMLSanitizer


  def tidy_html(input)

    cleaned_html = Tidy.open(:show_warnings=>false) do |tidy|
      # don’t output body and html tags
      tidy.options.show_body_only = true 
      # output xhtml
      tidy.options.output_html = true
      # don’t write newlines all over the place
      tidy.options.wrap = 0
      # use utf8 to play nice with rails
      tidy.options.char_encoding = 'utf8'
      xml = tidy.clean(input)
      xml
    end
  end

end

我还有什么选择呢?

解决方法

我个人使用消毒宝石.

require 'sanitize'
op = Sanitize.clean("<html><body>wow!</body></hhhh>") # Notice the incorrect HTML. It still outputs "wow!"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读