怎么清除所有的html标签,(包括图片、</p>、<span>等等所有标签)只保留文字部分

如题所述

这是我以前整理的,你可以先试试
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HTMLSpirit{
publicstatic 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(); //返回文本字符串
}
}追问

这是我后台输出返回的结果:


这是页面显示:

你把图片截断了

追答

你可以根据你的需求 修改一下正则表达式,这个是我以前用的,不一定所有的都适合!

追问

都说了我对正则不是很了解

追答

正则其实很简单的 半小时你肯定能搞定。方法已经给你了。授之以鱼不如授之以渔

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-08
使用正则表达式去匹配删除追问

我问的就是这个,我没用过正则所以想让你们帮我写一个,谢谢

第2个回答  2013-03-08
去代码里删了··
第3个回答  2013-03-08
直接删了不行吗?没明白你什么意思追问

我要在页面列表显示的时候不显示那些标签,否则会换行或者会出现图片,这样布局不就乱了吗

追答

这样的话加一个过滤器就行了

追问

我要的就是这东西,问题是我对正则表达式不是很清楚

追答

那个我都是用到的时候在网上搜的,我也不会,你百度一下好多的 0.0

本回答被提问者和网友采纳
相似回答