我希望每个p标签分割一个HTML字符串,以便得到以下数组:
array{
'<p>my text</p>',
'<p>my text2</p>',
...
}
这就是我的尝试:
array = articleContent.split(/<p>|(?=<\/p>)/g);
但结果是:
array{
'</p><p>my text',
'</p><p>my text2',
...
}
答案 0 :(得分:0)
你可以这样做!
const re = /\<p>.*?<\/p>/g; //check anything that start/end with tag
const article = "<p>lorem</p> asteroids <p>Ipsum</p>";
const matches = article.match(re); //get the matches
var r = Array.from(matches); //create an array from matches!
console.log(r); // CHECK OUT!
答案 1 :(得分:-1)
答案 2 :(得分:-1)
此:
/<p>(.*)<\/p>/g.exec('<p>my text</p>')[1];
返回:
"my text"
答案 3 :(得分:-1)
你可以选择
/<p\b.*?<\/p\b[^>]*>/g
它会匹配初始标记以及截至结束标记的所有内容(包括属性)。当然......如果你有嵌套标签,你就搞砸了。
像这样获得每场比赛:
var str='<p style="border:1px solid #000">First paragraph with a border</p> is my <p style="color:red">Next paragraph in red</span></p>',
re = /<p\b.*?<\/p\b[^>]*>/g,
m,
resultingArray = [];
while (m = re.exec(str) )
{
resultingArray.push(m[0]);
}
document.write(resultingArray.join('--------------------') + '<br/>');
&#13;