Jsoup提取文本时保留标签

使用Jsoup来对html进行处理比较方便,你可能会用它来提取文本或清理html标签。如果你想提取文本时保留标签,可以使用Jsoup.clean方法,参数为html及标签白名单:

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默认会转为换行符。

时间: 2024-10-10 02:39:45

Jsoup提取文本时保留标签的相关文章

Jsoup解析html时对相对地址的处理

前一段时间运用htmlparser时,获取地址是时直接将html页面的相对地址转换成绝对地址,然而今天在运用jsoup,开始的时候发现只能得到相对地址,最后在网上寻找到了解决办法. htmlparser获得URLs: //参数说明:parser为模拟浏览器对URL地址操 dataPath:所解析的URL存放路径 dataName:存放URL的数据库名 public static void extractURL(final Parser parser, final String dataPath,

用ABBYY提取文本和表格的方法

在ABBYY FineReader 12 OCR文字识别软件中,有一个插件ABBYY Screenshot Reader,通常情况下与ABBYY FineReader 12一起安装到计算机中,它是一款易于使用的智能型应用程序,可以从屏幕上的任何区域抓取图像和文本,且能够将这些图像和文本转换为可编辑的格式,无需再重新输入,使得重新利用数字文档.电子邮件或报告内容变得简单,支持超过180种语言,识别精确度也很出色. 只需点击几下,便可从打开的文档.文件菜单.网页.演示文稿.Flash内容和PDF文件

C#正则表达式提取文本中以逗号间隔的数据

使用正则表达式提取文本数据到内存是很方便的技术,下面通过一个例子介绍一下如何使用正则表达式提取文本 文本中内容格式 1,2,3,4,5 2,2,2,2,2 3,3,3,3,3 C#代码如下 public List<List<string>> GetDataCSV(string path) {         string pattern = @"\d+"; List<List<string>> data = new List<Lis

java 解析富文本处理 img 标签

很多项目都需要到富文本来添加内容,就好比新闻啊,旅游景点之类的,都需要使用富文本去添加数据,然而怎么我这边就发现了两个问题 1)怎样将富文本的图片的 src 获取出来? 2)后台上传的时候用的是相对路径,前端显示需要的是最对路径 我下面就记录一下解决这两个问题的方法 1):怎么将富文本的图片的  src 获取出来?很简单,就一个工具即可 public static List<String> getImgStr(String htmlStr) { List<String> list

使用vba做一个正则表达式提取文本工具

测试中经常会遇到对数据的处理,比如我要删除某些特定数据,数据源是从网页请求中抓取,这时候可能复制下来一大堆内容,其中我们只需要特定的某些部分,笔者通常做法是拷贝到notepad++中处理,结合RegTester工具,但是RegTest需要导出匹配数据,不能直接拷贝,稍微麻烦了一点点......于是想用vba写一个正则表达式提取工具好了,又不花时间.(晕,刚想起来其实会有在线工具的,比如:http://tool.oschina.net/regex/),虽然找到了在线工具,还是说一下自己做的这个吧~

用PDFMiner从PDF中提取文本文字

1.下载并安装PDFMiner 从https://pypi.python.org/pypi/pdfminer/下载PDFMineer wget https://pypi.python.org/packages/57/4f/e1df0437858188d2d36466a7bb89aa024d252bd0b7e3ba90cbc567c6c0b8/pdfminer-20140328.tar.gz#md5=dfe3eb1b7b7017ab514aad6751a7c2ea 加压并安装 tar -zxvf

复制小说文本时如何去除随机乱码?

复制小说文本时如何去除随机乱码? 想把小说复制上去慢慢看,却看见复制到记事本里出现一大堆良莠不齐的乱码,十分不爽.因此就想了个复杂的办法把它解决. 估计别的人也遇到多么愁闷的事,那就按我后面的办法做吧. 打开对应的小说页面,然后删除地址栏上地址,将下面的内容粘贴到地址栏上,按回车(或"转到"按钮),这样,所有的乱码都清除了,此时你就可以放心的复制到文本里去了 代码如下: javascript:var myfonts=document.getElementsByTagName('font

V9发布内容时保留框架&lt;iframe&gt;&lt;/iframe&gt;

有些时候,发布文章内容的时候需要用到<iframe></iframe>框架站外内容最近在发布内容时就遇到这个问题,<iframe></iframe>给转义了,保存后变成了&gt iframe,前台显示也是这样,估计是官方为了防止安全,把script.iframe.frame都给转义了稍微修改一下,即可保留<iframe></iframe> 找到\phpcms\libs\functions\global.func.php文件,大

将Repeater控件导入Excel表(正则清除a标签保留文本,img标签清除)

导入的表:<table width="100%" cellpadding="0" style="border-color: #89C2D6; margin-top: 5px;              <colgroup>                <col width="16%">                <col width="100">