正则表达式选择任何html标记之间的字符串

时间:2016-03-17 14:00:53

标签: javascript html regex

我需要能够获取任何html 标记之间的所有内容。 目前我正在使用:

var result = data.match(/<p>(.*?)<\/p>/g).map(function(val){
 // validate
}

我最接近的是:<[a-z1-9]{1,10}>(.*?)<\/[a-z1-9]{1,10}>

然而,查看regex tester,这是不正确的。

它没有关闭匹配的标签,甚至错过了一些,我缺少什么?

我的目标是在所有标签之间获取任意值。

https://regex101.com/r/jR7wZ3/1

1 个答案:

答案 0 :(得分:0)

感谢@WiktorStribiżew

var el = document.createElement( 'faketag' );
el.innerHTML = txt;
var arr = [];
[].forEach.call(el.childNodes, function(v,i,a) {
        arr.push(v.innerHTML);
});
console.log(arr);

https://jsfiddle.net/uncysdv4/1/