Html 将跨度字符串拆分为跨度数组
我有一个用跨距包装的文本块,需要将其拆分成一个数组 所以现在我有Html 将跨度字符串拆分为跨度数组,html,regex,split,Html,Regex,Split,我有一个用跨距包装的文本块,需要将其拆分成一个数组 所以现在我有 var s = ` <span class="hoverable">c</span> <span class="hoverable">o</span> <span class="not-hoverable">o</span>`; var s=` C o o`; 我需要 var s = [ "<span class="hover
var s = `
<span class="hoverable">c</span>
<span class="hoverable">o</span>
<span class="not-hoverable">o</span>`;
var s=`
C
o
o`;
我需要
var s = [
"<span class="hoverable">c</span>",
"<span class="hoverable">o</span>",
"<span class="not-hoverable">o</span>"];
var s=[
“c”,
“o”,
“o”];
我试过s.split(//)代码>用于拆分会计核算
和结账
但
var s = [
"<span class="hoverable">c",
"<span class="hoverable">o",
"<span class="not-hoverable">o",...]
var s=[
“c”,
“o”,
“o”,…]
所以它不包括结束跨度。与往常一样,当一个regexp问题进入HTML或XML领域时,我建议regexp不是正确的工具。使用您正在使用的语言中的适当HTML解析器。对于JavaScript(通过使用var
和字符串模板语法表示):
让我们=`
C
o
o`;
设d=document.createElement('div');
d、 innerHTML=s;
让result=Array.from(d.children.map)(e=>e.outerHTML);
控制台日志(结果)代码>与往常一样,当一个regexp问题进入HTML或XML领域时,我建议regexp不是正确的工具。使用您正在使用的语言中的适当HTML解析器。对于JavaScript(通过使用var
和字符串模板语法表示):
让我们=`
C
o
o`;
设d=document.createElement('div');
d、 innerHTML=s;
让result=Array.from(d.children.map)(e=>e.outerHTML);
控制台日志(结果)代码>如果在浏览器中工作且值位于元素内部,则始终可以使用DOM。如果不是,并且您有一个字符串,那么您仍然可以动态地使用DOM。最后,您可以使用正则表达式
下面是总结:
var s=''+
“c”+
“哦”+
“o”;
var r2=s.match(/(.*)/gm);
log(“使用正则表达式”);
控制台日志(r2);
函数findWithDOM(){
log(“使用DOM”);
var elements=[].slice.call(document.queryselectoral('#myDiv span');
控制台日志(元素);
}
函数findWithDynamicDOM(){
log(“使用动态DOM”);
var元素=document.createElement(“div”);
element.innerHTML=s;
var elements=[].slice.call(element.queryselectoral('span');
控制台日志(元素);
}
c
o
o
如果在浏览器中工作,且值位于元素内部,则始终可以使用DOM。如果不是,并且您有一个字符串,那么您仍然可以动态地使用DOM。最后,您可以使用正则表达式
下面是总结:
var s=''+
“c”+
“哦”+
“o”;
var r2=s.match(/(.*)/gm);
log(“使用正则表达式”);
控制台日志(r2);
函数findWithDOM(){
log(“使用DOM”);
var elements=[].slice.call(document.queryselectoral('#myDiv span');
控制台日志(元素);
}
函数findWithDynamicDOM(){
log(“使用动态DOM”);
var元素=document.createElement(“div”);
element.innerHTML=s;
var elements=[].slice.call(element.queryselectoral('span');
控制台日志(元素);
}
c
o
o