互联网技术 · 2024年2月21日

解决js正则表达式匹配table、img和去除各种标签的问题

这篇文章主要介绍了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(/&nbsp;/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;
     
  &nbsp

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册