如何清理html字符串,除了图片url? [英] How to sanitize html string except image url?

查看:149
本文介绍了如何清理html字符串,除了图片url?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图清理html字符串,但我想将图片网址列入白名单。
我的代码:

  ActionView :: Base.full_sanitizer.sanitize(phrase.meaning,tags:%w(img ),属性:%w(src))

这不起作用,因为它会删除所有html标签和 src 的值。

我在json文件中的预期结果:

 含义:Lorem ipsum .... http://localhost/image1.jpg .... Lorem ipsum


解决方案

也许使用 PermitScrubber 直接从同一个gem:

  html ='Foo< img src =footitle =bar> < a href =foo>栏< / a> blob'
scrubber = Rails :: Html :: PermitScrubber.new
scrubber.tags = ['img']
html_fragment = Loofah.fragment(html)
html_fragment.scrub! (scrubber)
html_fragment.to_s
#=> Foo< img src = \foo \title = \bar\> bar blob


I'm trying to sanitize an html string, but I want to whitelist image urls. My code:

ActionView::Base.full_sanitizer.sanitize(phrase.meaning, tags: %w(img), attributes: %w(src))

This doesn't work, because it deletes all html tags and the value of src.

My expected result in a json file:

meaning: "Lorem ipsum.... http://localhost/image1.jpg .... Lorem ipsum"

解决方案

Perhaps it is easier to use the PermitScrubber from the same gem directly:

html = 'Foo <img src="foo" title="bar"> <a href="foo">bar</a> blob'
scrubber = Rails::Html::PermitScrubber.new
scrubber.tags = ['img']
html_fragment = Loofah.fragment(html)
html_fragment.scrub!(scrubber)
html_fragment.to_s
#=> "Foo <img src=\"foo\" title=\"bar\"> bar blob"

这篇关于如何清理html字符串,除了图片url?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆