【问题标题】:Regex select string between any html tag任何 html 标记之间的正则表达式选择字符串
【发布时间】:2016-07-03 22:24:17
【问题描述】:

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

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

我得到的最接近的是:&lt;[a-z1-9]{1,10}&gt;(.*?)&lt;\/[a-z1-9]{1,10}&gt;

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

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

我的目标是在所有标签之间获得任何东西不是在某些两个之间。

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

【问题讨论】:

标签: javascript html regex


【解决方案1】:

感谢@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/

【讨论】:

    猜你喜欢
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    相关资源
    最近更新 更多