当前位置:首页 > Java技术 > 正文内容

过滤网页HTML标记

canca19年前 (2007-06-23)Java技术470

JAVA过滤HTML中的所有标记。非常好用!!过滤网页HTML标记 - CAnca - Ant Software Studio

package canca.regex;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class HtmlFilter {
 
 private Pattern p;
 private Matcher m;

 public String htmlChanger(String regEx, String htmlTag, String replaceStr) {

  String ret = "";
  try {
   p = Pattern.compile(regEx);// 设置比较模式
   m = p.matcher(htmlTag);
   boolean rs = m.find();
   ret = p.matcher(htmlTag).replaceAll(replaceStr);
  } catch (Exception e) {
   e.printStackTrace();
  }
  return ret;
 }

 public static void main(String[] args) {
 
  String htmlToChange = "<html><head><title>测试</title></head><body><p>中国人</p></body></html>"; //你要转换的HTML标记。
  
  String yourRegEx = "(<\\s*[a-zA-Z][^>]*>)|(</\\s*[a-zA-Z][^>]*>)";  //这个就是对应的去掉HTML标记的正则表达式
  
  String replaceStr = "";  //这个是你要将它替换的字符串,因为你要消去HTML标记,所以这里用空串。
  
  HtmlFliter fliter = new HtmlFliter();
  
  String result = fliter.htmlChanger(yourRegEx, htmlToChange, replaceStr);
  
  System.out.println("---->: " + result);
 }
}

当然如果去掉<style></style>
<script></script>也许有些不好用。
试试下面的正则表达式。
(<\\s*script\\s*>\\s*([a-zA-Z])*\\s*|([\\一-\\龥])*|([^\\x00-\\xff])*</\\s*script\\s*>)

(<\\s*style\\s*>)\\s*([a-zA-Z])*\\s*|([\\一-\\龥])*|([^\\x00-\\xff])*(</\\s*style\\s*>)

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/601.html

标签: Java技术
分享给朋友:

“过滤网页HTML标记” 的相关文章

Socket与ServerSocket的问题

//服务器端:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.ServerSock...

Java语言的反射机制

    由于项目的需要,在项目中要实现即插即用的方式,也就是说可以动态地加载包,不用设置CLASSPATH路径。当项目发布时,不可能要用户来设置环境变量吧!因此,就要用到JAVA的反射机制了。昨天,我是在研究JAVA的JNI技术。由于没有时间,所以过几天才写JNI。今天...

JSP与Servlet的对应关系

以前在QQzone写下的文章现在贴到这里来了... 最近比较忙啊!现在抽身写一篇文章。是关于JSP与Servlet的对应关系的。希望对大家有所帮助。其实我也是刚刚学的......-------Servlet--------------JSP----------1.ServletContext&nbs...

IM技术(1)

    做项目了,NetCL今天开工了,在这些日子里,我会将自己研究的内容写下来。做个记录,以下是我在网上搜到的。关于管理用户状态的解决方案,当然,我都有一个方案。不过对客户端的任务有点重吧,我方法是客户端从服务器端获到一个用户在线状态后,接着就与服务器无关了。好友离线...

JAVA内部类终极实例

最近心情不好,不想说太多东西了!电脑坏了,我现在又病了. class ClassFactory{ private final static String userName = "Hello,My name is CAnca."; public static Thread in =...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。