关于Jsoup 的Whitelist.basicWithImages

戢冠生 发布于 2011/05/05 11:50
阅读 1K+
收藏 1
public void test() throws Exception {
        String str="<img src=\"beati.gif\"/>wefwef";
        Whitelist user_content_filter = Whitelist.basicWithImages();
        System.out.println(Jsoup.clean(str,user_content_filter));
}

很简单 。出现的问题 允许img 标签 ,img标签没哟被清除 但是src属性被清除了 。大家知道为什么吗?

加载中
0
红薯
红薯

应该多试试各种情况下jsoup的处理方法,去适应它的做法

basicWithImages 就是允许包含一些基本文本和图片的

0
戢冠生
戢冠生

basicWithImages   的确不会清除img 标签 但是img 的src属性被清理了

这个问题很大

0
红薯
红薯

引用来自#3楼“戢冠生”的帖子

basicWithImages   的确不会清除img 标签 但是img 的src属性被清理了

这个问题很大

这个方法我也用,不会出现你说的情况

0
红薯
红薯

需要注意的是 src 只接受 http:// 开头的图片 url 地址

0
戢冠生
戢冠生

谢谢红薯 果然如你所言 。 只接受http://开头的地址

0
我是小强
我是小强
Whitelist.relaxed().preserveRelativeLinks(true);//就可以使用相对路径图片了
llsydn
llsydn
兄弟,你这个不行的。
0
llsydn
llsydn
whitelist.removeProtocols("img", "src", "http", "https");

看了一下源码,发现它就是将img标签的src属性过滤,是通过判断src的路径是否以http或https开头的进行过滤的,所以这里在不修改源码的情况下,找到了一个比较好的方式不过滤img的src属性的方法,就是将img的Protocol限制去掉吧。

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部