export function format(html){
if(html==""||typeof html =='undefined') return "";
let msg=html;
msg=replaceAll(msg,"<","|<");
msg=replaceAll(msg,">",">|");
msg=replaceAll(msg,"\n","");
let data=checkNullData(msg.split("|"));
let div=[];
let count=[];
let fistSize=0;
let isOver=false;
let overCount=0;
for(let i=0;i<data.length;i++){
let label=data[i];
if(label=="")continue;
if(label.indexOf("<")>=0){
if(label.indexOf("/")>=0){
overCount=count[count.length-1];
div.push(labelPage(label,overCount));
div.push(<br/>);
count.splice(count.length-1,1);
isOver=true;
}else{
if(isOver){
count.push(overCount);
div.push(labelPage(label,overCount));
div.push(<br/>);
isOver=false;
}else{
count.push(fistSize);
div.push(labelPage,fistSize);
div.push(<br/>);
fistSize=fistSize+2;
}
}
}else{
div.push(CN(label,fistSize+2));
div.push(<br/>);
}
}
return (
<pre>
<code>
{div.map(item=>item)}
</code>
</pre>
)
}
function checkNullData(data){
let datas=[];
for(let i=0;i<data.length;i++){
let label=data[i];
if(label=""||label.length<=1) continue;
datas.push(label);
}
return datas;
}
function replaceAll(param,targetParam,replaceParam){
let msg="";
let data=param.split("");
for(let i=0;i<data.length;i++){
let char=data[i];
if(char==""||char===" ")continue;
if(char===targetParam){
msg=msg+replaceParam;
}else{
msg=msg+char;
}
}
return msg;
}
function labelPage(e,index){
return (
<span>
<span>
{gs(index)}
{e.replace("<","").replace(">","")}
{ge()}
</span>
</span>
)
}
function CN(e,index){
return (
<span>
<span>
{getKongge(index).map(item=>item)}
{e}
</span>
</span>
)
}
function getKongge(e){
let data=[];
if(e==0)return [];
for(let i=0;i<e;i++){
data.push(
<span>
</span>
);
}
return data;
}
function gs(e){
return(
<span>
{getKongge(e).map(item=>item)}
<
</span>
)
}
function ge(){
return (<span>&get;</span>)
}
方法有点臃肿,有大佬可以优化意见的 咱们可以交流一下 QQ:731115882