jsoup 处理图片时候的一个问题

红薯 发布于 2011/05/29 01:42
阅读 2K+
收藏 2

输入 HTML

<img src="/js/ke/plugins/emoticons/19.gif" alt="" /><img src="/js/ke/plugins/emoticons/9.gif" alt="" />&nbsp;dddd<br />

使用 Whitelist.basicWithImages() 进行过滤

输出 HTML

<img alt="" />
<img alt="" />&nbsp;dddd

<br />

悲剧了,又要 debug

加载中
1
红薯
红薯

找了 jsoup 的文档,不知道如何处理以 / 开头的链接地址

变通一下,让 KindEditor 直接生成 http:// 开头的图像地址和链接地址即可

只需要在初始化 KindEditor 的时候指定 urlType 值为 domain 即可。

另外在执行 clean 的时候传入 baseURL 也能解决这个问题。

小猫王
小猫王
fckeidtor里没有urlType...
0
红薯
红薯
改天有空研究下 jsoup 源码,看如何让一些相对路径的链接地址有效
0
韭菜根
韭菜根

一般对相对路径比较支持,绝对路径通常有问题。原因大概是因为 jsoup同时也支持String content, 带"/"的路径实在不好确定。 这个问题在好多项目中见过

0
浪客Dandy
浪客Dandy

红薯 有没有尝试其他的HTML Parser 做过比较啥的

我最近也需要解析HTML 有没有好的库推荐?

红薯
红薯
我之前都是用 HTMLParser 的,现在已经全面转 jsoup 了.
0
小猫王
小猫王
刚发现这个问题,40分钟后,在这里找到答案...
0
卖豆浆不卖油条
卖豆浆不卖油条
public static Whitelist basicWithImages() {
        return basic()
                .addTags("img")
                .addAttributes("img", "align", "alt", "height", "src", "title", "width")
                .addProtocols("img", "src", "http", "https")
                ;
    }
代码是这个样子的,里面有最重要的一句:.addProtocols("img", "src", "http", "https"),意思就是如果你src的值不是以http或https开头的话,就给过滤掉这个属性。然后就如文中所说的那样了。解决办法,不用这个方法,自己添加要保留的白名单
0
zhangweizj
zhangweizj
哈哈,解了我燃眉之急,万分感谢
返回顶部
顶部