当前位置 博文首页 > 关于HTML及UBB标记的闭合

    关于HTML及UBB标记的闭合

    作者:admin 时间:2021-09-12 17:47

    代码还有待完善:
    复制代码 代码如下:
    <script type="text/javascript"> 
     // Close HTML Tags -------------------------------------------- 
      function closeHTML(str){ 
     var arrTags=["span","font","b","u","i","h1","h2","h3","h4","h5","h6","p","li","ul","table","div"]; 

     for(var i=0;i<arrTags.length;i++){ 
     var intOpen=0; 
     var intClose=0; 

     var  re=new RegExp("\\<"+arrTags[i]+"( [^\\<\\>]+|)\\>","ig"); 
     var arrMatch=str.match(re); 
     if(arrMatch!=null) intOpen=arrMatch.length; 

     re=new RegExp("\\<\\/"+arrTags[i]+"\\>","ig"); 
     arrMatch=str.match(re); 
     if(arrMatch!=null) intClose=arrMatch.length; 

     for(var j=0;j<intOpen-intClose;j++){ 
     str+="</"+arrTags[i]+">"; 
     } 
     /*for(var j=(intOpen-intClose-1);j>=0;j--){ 
     str+="</"+arrTags[i]+">"; 
     }*/ 
     } 

     return str; 
     } 

     // Close UBB Tags -------------------------------------------- 
     function closeUBB(str){ 
     var arrTags=["code","quote","list","color","align","font","size","b"]; 

     for(var i=0;i<arrTags.length;i++){ 
     var intOpen=0; 
     var intClose=0; 

     var  re=new RegExp("\\["+arrTags[i]+"(=[^\\[\\]]+|)\\]","ig"); 
     var arrMatch=str.match(re); 
     if(arrMatch!=null) intOpen=arrMatch.length; 

     re=new RegExp("\\[\\/"+arrTags[i]+"\\]","ig"); 
     arrMatch=str.match(re); 
     if(arrMatch!=null) intClose=arrMatch.length; 

     for(var j=0;j<intOpen-intClose;j++){ 
     str+="[/"+arrTags[i]+"]"; 
     } 
     } 

     return str; 
     } 

     alert(closeHTML("正常:<div class='testBox'><ul><li><b>加粗</b><span>字体哈哈")); 
     alert(closeHTML("有错:<div class='testBox'><p><ul><li><b>加粗</b><span>字体哈哈")); 
    </script> 
    jsjbwy