(HTML选择性过滤) java正则,过滤掉HTML标签,但保留指定的标签如 a,img,p ( Jakarta ORO实现, perl全兼容正则)

package lix.util;
import org.apache.oro.text.perl.*;  


class CleanHtml {
	public static String clean(String html){
		StringBuffer buffer = new StringBuffer();  
		Perl5Util preg = new Perl5Util();  
		preg.substitute(buffer,"s/<script[^>]*?>.*?<\\/script>//gmi",html);  
		html =buffer.toString();
		buffer.setLength(0);
		
		preg.substitute(buffer,"s#<[/]*?(?!a|img|br|/a|table|/table|tr|/tr|td|/td)[^<>]*?>#abc#gmi",html);
		//(?# a,/a,img/br ...标签之外,都删除)
		html =buffer.toString();
		buffer.setLength(0);
		/*
		preg.substitute(buffer,"s/([\r\n])[\\s]+//gmi",html);  
		html =buffer.toString();
		buffer.setLength(0);
		*/
		return html;
	}
}
/*
*/
 

 

(?!exp) 匹配后面跟的不是exp的位置


(HTML选择性过滤) java正则,过滤掉HTML标签,但保留指定的标签如 a,img,p ( Jakarta ORO实现, perl全兼容正则)_第1张图片

 

 

 

...

你可能感兴趣的:(java,apache,html,qq,perl)