Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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
Javascript 使用正则表达式仅通过h1标记拆分带有html的字符串_Javascript_Regex - Fatal编程技术网

Javascript 使用正则表达式仅通过h1标记拆分带有html的字符串

Javascript 使用正则表达式仅通过h1标记拆分带有html的字符串,javascript,regex,Javascript,Regex,我只需要从通过ajax获得的字符串中检索h1标记。该字符串返回使用file\u get\u contents显示外部页面的php文件的整个页面 我得到了完美的字符串回来,我想分割的h1标签字符串。是否有方法仅返回标记的数组?我正在使用一个基于下划线.js编写的过滤器,但它实际上不起作用: var h1 = toolbelt.filter(textArr, function(element){ return element.search('<h1') !== -1;

我只需要从通过ajax获得的字符串中检索h1标记。该字符串返回使用
file\u get\u contents
显示外部页面的php文件的整个页面

我得到了完美的字符串回来,我想分割的h1标签字符串。是否有方法仅返回
标记的数组?我正在使用一个基于下划线.js编写的过滤器,但它实际上不起作用:

var h1 = toolbelt.filter(textArr, function(element){
        return element.search('<h1') !== -1;
      });
var h1=toolbelt.filter(textArr,函数(元素){
return元素。搜索('试试这个

var测试='himore content divbye';
var h1Elements=新数组();
$.each(test.split(“”),函数(i,content){
如果(content.indexOf(“”)!==-1){
h1Elements.push(“”+content.substring(0,content.indexOf(“”))+“”);
}
});
console.log(H1元素);
试试这个

var测试='himore content divbye';
var h1Elements=新数组();
$.each(test.split(“”),函数(i,content){
如果(content.indexOf(“”)!==-1){
h1Elements.push(“”+content.substring(0,content.indexOf(“”))+“”);
}
});
console.log(H1元素);
正是基于这里的纯JS版本

var html='himore contentcontent divbye';
var h1Elements=新数组();
var htmlSplit=html.split(“”)
for(htmlSplit中的索引){
if(htmlSplit[index].indexOf(“”)!=-1{
推(
''+htmlSplit[index].子字符串(0,htmlSplit[index].索引('')+'';
}
}
log(h1Elements);
完全基于这里的是纯JS版本

var html='himore contentcontent divbye';
var h1Elements=新数组();
var htmlSplit=html.split(“”)
for(htmlSplit中的索引){
if(htmlSplit[index].indexOf(“”)!=-1{
推(
''+htmlSplit[index].子字符串(0,htmlSplit[index].索引('')+'';
}
}
console.log(h1元素);
使用:

var someHTML='FirstSecond';
var parser=新的DOMParser();
var doc=parser.parseFromString(someHTML,'text/html');
var输出=Array.prototype.slice.call(
文档querySelectorAll('h1')
).map(el=>el.outerHTML);
console.log(输出);//[“第一”,“第二”]
使用:

var someHTML='FirstSecond';
var parser=新的DOMParser();
var doc=parser.parseFromString(someHTML,'text/html');
var输出=Array.prototype.slice.call(
文档querySelectorAll('h1')
).map(el=>el.outerHTML);
console.log(输出);//[“第一”,“第二”]

谢谢Jorge,我需要能够使用纯vanila javascript或每个,映射、减少筛选或从下划线拒绝。js谢谢Jorge,我需要能够使用纯vanila javascript或每个,映射、减少筛选或从下划线拒绝。js这可能会帮助您:这可能会帮助您:
var someHTML = '<div><h1>First</h1></div><h1>Second</h1>';

var parser = new DOMParser();
var doc = parser.parseFromString(someHTML, 'text/html');

var output = Array.prototype.slice.call(
    doc.querySelectorAll('h1')
).map(el => el.outerHTML);

console.log(output); // ["<h1>First</h1>", "<h1>Second</h1>"]