这篇文章主要介绍了js正则匹配table,img及去除各种标签问题,需要的朋友可以参考下
核心代码
//获取公示栏内容
s = “$row.detail$”;
mainContent =s;
//如果有多个table使用下面注释的正则只会匹配成一个table
//var tabReg = /<table[^>]*>((?!table).)*</table>/gi;
//匹配单个table
var tabReg = /<table[^>]*>s*(<tbody[^>]*>)?(s*<tr[^>]*>[sS]*?</tr>s*)*(</tbody>)?s*</table>/gi;
var tabMatch = tabReg.test(s);
var tabMatchContentArray = s.match(tabReg);
if(tabMatch)
{
mainContent = s.replace(tabReg,”#”);
}
//对img标签进行匹配
var imgReg = /<img.*?(?:>|/>)/gi;
imgMatchContentArray = s.match(imgReg);
if(imgReg.test(s))
{
//将img标签替换为*
mainContent = mainContent.replace(imgReg,”*”);
}
//处理html标签
mainContent = mainContent.replace(/ /gi,” “);
var pReg1 = /<p>/gi;
var pReg2 = /</p>/gi;
mainContent = mainContent.replace(pReg1,””).replace(pReg2,”<br />”);
//下面的htmlReg1 ,htmlReg2可以匹配任意标签
// var htmlReg1 =/<[^>]+>/gi;
// var htmlReg2 =/<(.+?)[s]*/?[s]*>/gi;
//
// mainContent = mainContent.replace(htmlReg1,””).replace(htmlReg2,””);
//mainContent = mainContent.replace(/&/gi,”<p>”).replace(/@/gi,”</p>”);
var pageIndex = 1;
var size = 500;
var tableContentArray = mainContent.split(“#”);
var array = []; //存放以table分割后的数组中每个数组可以分作几页
var arrayIndex = []; //存放table在内容中的索引
var len =0;
for(var i=0;i<tableContentArray.length;i++)
{
var con = tableContentArray[i];
len += con.length;