JSON—去除JSON数据中的所有HTML标…
2024-09-07 11:10:39
package com.linoer.utils; import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern; /**
* HTML
* @author linoer
*/
public class HTMLSpirit {
/** * 去掉所有的HTML标签 * @param htmlStr * @return */
public static String delHTMLTag(String htmlStr) {
String regEx_script = "<script[^>]*?>[\\s\\S]*?<\\/script>"; // 定义script的正则表达式 String regEx_style = "<style[^>]*?>[\\s\\S]*?<\\/style>"; // 定义style的正则表达式 String regEx_html = "<[^>]+>"; // 定义HTML标签的正则表达式
Pattern p_script = Pattern.compile(regEx_script,
Pattern.CASE_INSENSITIVE);
Matcher m_script = p_script.matcher(htmlStr);
htmlStr = m_script.replaceAll(""); // 过滤script标签
Pattern p_style = Pattern
.compile(regEx_style, Pattern.CASE_INSENSITIVE);
Matcher m_style = p_style.matcher(htmlStr);
htmlStr = m_style.replaceAll(""); // 过滤style标签
Pattern p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);
Matcher m_html = p_html.matcher(htmlStr);
htmlStr = m_html.replaceAll(""); // 过滤html标签
return htmlStr.trim().replaceAll(" ", ""); // 返回文本字符串
}
/**
* 从HTML获取图片url
* @param htmlStr
* @return
*/
public static List<String> getImgStr(String htmlStr) {
String img = "";
Pattern p_image;
Matcher m_image;
List<String> pics = new ArrayList<String>();
String regEx_img = "<img.*src=(.*?)[^>]*?>"; // 图片链接地址
p_image = Pattern.compile(regEx_img, Pattern.CASE_INSENSITIVE);
m_image = p_image.matcher(htmlStr);
while (m_image.find()) {
img = img + "," + m_image.group();
Matcher m = Pattern.compile("src=\"?(.*?)(\"|>|\\s+)").matcher(img); // 匹配src
while (m.find()) {
pics.add(m.group(1));
}
}
return pics;
}
}
最新文章
- Excel表格解析
- Openresty 安装教程
- JS基础---->;js中ajax的使用
- Mac废纸篓 不能完全清空的有效解决方法
- Hadoop入门实践之从WordCount程序说起
- 第二百零九天 how can I 坚持
- kindeditor html代码过滤不能保存
- java新手笔记5 类
- Gradle DSL method found: ‘android()’错误
- [转]Kafka/Metaq设计思想学习笔记
- Oracle 经常使用的改动语句
- 解决!同一ajax请求获取的图片路劲,在谷歌浏览器能正确展示图片,在火狐浏览器则显示路径undefined
- IOS开发创建开发证书及发布App应用(八)——使用Application Loader工具上传应用
- vue视频学习笔记07
- 接口interface,接口继承implements
- java final关键字的详解
- excel上传下载
- C++多线程同步技巧(四)--- 信号量
- python - 计算器 程序练习
- 如何更改linux文件的拥有者及用户组(chown和chgrp)
热门文章
- 测试标题CSS样式
- 嵌入式02 STM32 实验07 串口通信
- 读文件时出现这个错误 &#39;utf-8&#39; codec can&#39;t decode byte 0xba in position 21: invalid start byte
- 【leetcode】347. Top K Frequent Elements
- Go基础编程实践(九)—— 网络编程
- Jenkins 远程启动nodejs失败,使用pm2守护Nodejs
- go 程序整个执行过程
- c# 拼接字符串根据逗号切割 后转换成集合或数组
- Vue.js详解
- echarts统计x轴区间的数值