从html里面提取文本,只保留br和p

从网上down了很多信息,但是带了一些不需要的table,div等标签,影响显示布局,就批量清理一下,我这里只保留p和br,要保留其他的,稍微修改一下规则就ok了

[b]原理很easy:[/b]
1. 换掉所有的script和style
2. '换成'',方便操作数据库,这个不需要可以去掉
3. 把要保留的标签如<br />替换为[--br /--]
4. 替换掉剩下的以“<”开始以“>”结尾的内容
5. 把[--abc--]这类东西换回来,使用反向引用


/**
* description: 只保留br、p标签<br>
*
* @return 2010-4-2
* @author huxiao kskr@qq.com
*/
public static String clear(String htmlStr) {
return htmlStr.replaceAll("<script.*</script>", "").replaceAll("<style.*</style>", "").replaceAll("'", "''").replaceAll("<(/?p|br[^>]*)>", "[--$1--]").replaceAll("<[^<>]+>", " ").replaceAll("\\[--([^-]+)--\\]", "<$1>");
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值