["x+<img src="http://latex.codecogs.com/gif.latex?y^{2}" data-latex="y^{2}">=90",
"23+x=y",
"<img src="http://latex.codecogs.com/gif.latex?\sqrt[2]{x}" data-latex="\sqrt[2]{x}">+12=y"]
我有个数组里面有三个元素是这样的。
需求就是我希望把img标签里面的data-latex的值取出来和原来内容从新组合。最后组成的样式是这样的
["x+y^{2}=90",
"23+x=y",
"\sqrt[2]{x}+12=y"]
var array=["x+<img src="http://latex.codecogs.com/gif.latex?y^{2}" data-latex="y^{2}">=90","23+x=y","<img src="http://latex.codecogs.com/gif.latex?\sqrt[2]{x}" data-latex="\sqrt[2]{x}">+12=y"];
var newArray=[];//接收取出来的新值
array.map((res,index)=>{ //res是数组的每项内容,index是下标
if(res.indexOf("img)==-1){//不含img标签直接取
newArray[index]=res;
}else{
var html ='<div>'+res+'</div>';//把含有img标签的内容放在一个div里面。
var data-latex= $( $(html).find("img")).attr("data-latex");
newArray[index]=res.replace(/<[^<>]+>/g,data-latex);//替换img。这里找到html的标签,替换出来就行了
}
})