Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 将跨度字符串拆分为跨度数组_Html_Regex_Split - Fatal编程技术网

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