Jsoup提取文本时保留标签
2016-04-10 20:36
1371 查看
使用Jsoup来对html进行处理比较方便,你可能会用它来提取文本或清理html标签。如果你想提取文本时保留标签,可以使用Jsoup.clean方法,参数为html及标签白名单:
但是使用时发现对于html片段,上面返回的结果可能令人意想不到。
另外的方式为将标签进行urlencode转换:
之后再使用doc.text()或Jsoup.clean提取出文本,注意text会将p等标签转为空格而不是换行符,而clean默认会转为换行符。
Jsoup.clean(html, new Whitelist().addTags("img").addAttributes("img", "data-original", "align", "alt", "height", "src", "title", "width") .addProtocols("img", "src", "http", "https"));//只能是http/https开头的绝对地址
但是使用时发现对于html片段,上面返回的结果可能令人意想不到。
另外的方式为将标签进行urlencode转换:
Document doc = Jsoup.parseBodyFragment(partHtml); Elements elements = doc.select("img"); for (Element element : elements) { //将标签X替换为<X>与</X> element.replaceWith(new TextNode(element.toString(),"")); }
之后再使用doc.text()或Jsoup.clean提取出文本,注意text会将p等标签转为空格而不是换行符,而clean默认会转为换行符。
相关文章推荐
- JSP入门作品之简易版学生管理系统后端部分
- js创建对象
- JSP中 Session和作用域的使用
- 学习进程:第二章2.9jsp脚本的9个内置对象
- pjsip,webrtc音视频解决方案
- JSP内置对象out
- Js分页插件,支持页面跳转
- JS能力测评-查找数组元素位置
- js window对象方法属性整理
- js高阶函数
- js闭包
- js函数调用方式
- js原型链
- 关于jsp乱码的一点小分析
- JS项目
- js作用域Scope
- Javascript验证Textarea中是否有值/javascript验证select是否为空(是否选择)
- 笔记练习:《Javascript入门经典(第5版)》page138_11.8_Practice
- JSON解析和XML解析
- Spark - 导入JSON文件 Error