关于使用正则表达式修改标签内容

 

 

最近在做报表打印的时候,想偷懒一下,于是就将报表展示的页面里面的HTML全盘拷贝到另一个页面,然后直接调用windows的打印机,即(window.print方法)。

 

在实现过程中,出现了几个问题:

1、页面里面有后台传过来的JavaScript

2、页面中隐藏了一些DIV,DIV里面有一些iframe,它们会指向别的网页,并引用父页面的一些数据,但是因为当前展示的页面只拷贝了HTML,所以经常会报错

 

为了偷懒,于是写下了这些javascript的正则表达式

var reg=/<script language=[\"]?javascript[\"]?[^>]*>((.|\n|\t|\r)*?)<\/script>/gim;
 

说明:这个主要是去掉HTML中的JavaScript

 

var ifrReg = /< *?iframe[^>]*?(src *?= *?\"[^>]*?oss\/birt_report\/multiSelect.jsp[^>]*?\")[^>]*? *?>/gim;
 

说明:这个主要是查找那些特殊的iframe

 

var srcReg = /src *?= *?\"[^>]*?oss\/birt_report\/multiSelect.jsp[^>]*?\"/gim;
 

说明:这个主要是差早iframe里面的src

 

function replaceWord(word)
{
	return word.replace(srcReg,"src=\"\"");
}		
					
aDiv.innerHTML = bDiv.innerHTML.replace(reg,"").replace(ifrReg,replaceWord);
 

说明:替换

 

 

 

 

 

其实还有几个正则表达式,主要是想将HTML里面的隐藏的DIV挖出来,但是出现内存不足的提示,还是贴出来吧:

 

/]*?style *?= *?\"[^>]*?display *?: *?none *?;[^>]*?\" *?>/gim

说明:获取被隐藏的div标签

 

/]*?>((?!(]*?>))|\s)*?/gim

说明:查找成对的div标签,这里提示内存不足

 

你可能感兴趣的:(JavaScript,html,jsp,windows,正则表达式)