消毒和原始仍然显示 html 标签,Slim

sanitize and raw still showing html tags, Slim

我有一个包含 html 文本的评论数据,我想显示没有任何标签的 html 呈现。

我正在使用 RoR 和 slim。

我尝试了 sanitizerawhtml_safe。但他们都给了我同样的结果。他们删除了一些 html 但我仍然看到 html 标签。

使用前的数据:

<img alt="User-added image" src="https://rrrrr;amp;feoid=00N2400000H7Rxb&refid=0EM7E0000004FgN" style="height: 333px; width: 500px;"></img><br><br>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam 

使用后的数据:

    = raw resource.comments
    = sanitize resource.comments
    = strip_tags "'#{resource.comments}'"
    = ActionView::Base.full_sanitizer.sanitize(resource.comments)

def formatted_comments
  h.sanitize(comments, :tags => [], :attributes => [])
end 

 = formatted_comments

结果:

<img alt="User-added image" src="https://rrrrr;feoid=00N2400000H7Rxb&amp;refid=0EM7E0000004FgN" style="height: 333px; width: 500px;"></img><br><br>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam 

更新:

我注意到呈现的 html 标记包含以下内容。 " my result of html tags here " = [=18=] 试图手动删除它,所有 html 都被渲染了!

试试这个。它可能有效

rich_text = "<h1 class='some', some_other='some'>This is sentense </h1>"

helper.sanitize(rich_text, :tags => [], :attributes => [])

相关文档在这里 sanitize_helper

您可以使用 strip_tags 它会 return 您通过删除所有 html 标签

得到结果
str = "<img alt='User-added image' src='https://rrrrr;feoid=00N2400000H7Rxb&amp;refid=0EM7E0000004FgN' style='height: 333px; width: 500px;'></img><br><br>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam"

瘦身使用

= strip_tags str

#=> "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam"

最后我可以像下面那样做

 CGI.unescapeHTML(text).html_safe