js正则提取html标签内的内容

发布于 09-11 16:23 字数 159 浏览 17 评论 0

var html = "<p>111</p> <p>222</p> <p>333</p>";

条件:使用js正则
期望得到:一个数组 ['111','222','333']

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

懷念過去2022-09-18 16:23:44

其实可以换种思路(不知能否满足你的需求):
先把html元素渲染到页面,然后遍历这些元素节点,
拿到元素的innerText,组合成数组

例如:

const ele = document.getElementsByTagName("p")
let eleArr = Array.from(ele).map(item => item.innerText)
console.log(ele, eleArr)
作妖2022-09-18 16:23:44
var html = "<p>111</p> <p>222</p> <p>333</p>";
var reg = /<\/p>\s*<p>/;

var result = html.slice(3,html.length - 4).split(reg);
枯叶蝶2022-09-18 16:23:44
var html = "<p>111</p><p>222</p><p>333</p>";
var reg = /(?<=>)[^<>]+(?=<)/g;
console.log(html.match(reg))//["111","222","333"]
﹏半生如梦愿梦如真2022-09-18 16:23:44

var reg = /(?<=<p>).*(?=</p>)/gi;
var testStr = `
<html>
<div>12</div>
<h1>12188238*)(@!</h1>
<h1>12188238*)(@!1212</h1>
</hts>`;

var res = testStr.match(reg);

素染倾城色2022-09-18 16:23:44
var html = "<p>111</p> <p>222</p> <p>333</p>";
html.match(/[^><]+(?=<\/p>)/img);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文