//获取公示栏内容
s=”$row.detail$”;
mainContent=s;
//如果有多个table使用下面注释的正则只会匹配成一个table
//var tabReg=/<table[^>]*>((?!table).)*</table>/gi;
//匹配单个table
var tabReg=/<table[^>]*>\s*(<tbody[^>]*>)?(\s*<tr[^>]*>[\s\S]*?</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;
arrayIndex[i]=len;
array[i]=Math.ceil(con.length /size);
}
var tableIndexArray=[];//存放table内容页码数
var sum=1;
for(var j=0;j<array.length-1;j++)
{
sum +=array[j];
tableIndexArray[j]=sum;
}
var currentPageContent=mainContent.substr((pageIndex-1)*size,size);
if(tableIndexArray.indexOf(pageIndex) >=0)
{
currentPageContent=tabMatchContentArray[tableIndexArray.indexOf(pageIndex)];
}
if(currentPageContent.indexOf(“#”)!=-1)
{
var beginToCurrentPageContent=mainContent.substr(0,pageIndex*size);
var tabLastIndex=beginToCurrentPageContent.lastIndexOf(“#”);
currentPageContent=currentPageContent.substr(0,tabLastIndex-(pageIndex-1)*size);
//当前页是否有 * 获取最后一个 * 的位置
var indexOf=currentPageContent.indexOf(“*”);
if(indexOf >=0)
{
//获取开始到当前页位置的内容 中的 * 的最后的下标
var reCount=beginToCurrentPageContent.split(“*”).length – 1;
var contentArray=currentPageContent.split(“*”);
currentPageContent=replaceImgContent(contentArray,reCount,imgMatchContentArray);
}
}
else
{
//当前页是否有 * 获取最后一个 * 的位置
var indexOf=currentPageContent.indexOf(“*”);
if(indexOf >=0)
{
//获取从开始位置到当前页位置的内容
var beginToCurrentPageContent=mainContent.substr(0,pageIndex*size);
//获取开始到当前页位置的内容 中的 * 的最后的下标
var reCount=beginToCurrentPageContent.split(“*”).length – 1;
var contentArray=currentPageContent.split(“*”);
currentPageContent=replaceImgContent(contentArray,reCount,imgMatchContentArray);
}
}
if(currentPageContent==””)
{
alert(“页码数超过范围”);
}
else
{
document.getElementById(“annouContent”).innerHTML=currentPageContent;
}
function replaceImgContent(currentArray,replaceCount,matchArray)
{
var result=””;
for(var i=currentArray.length -1,j=replaceCount-1 ;i>=1; i–)
{
var temp=(matchArray[j] + currentArray[i]);
result=temp + result;
j–;
}
result=currentArray[0] + result ;
return result;
}
</script>