javascript - ES6 - 将 HTML 字符串解析为数组
问题描述
我有一个 HTML 格式的字符串:
let dataString = '<p>Lorem ipsum</p> <figure><img src="" alt=""></figure> <p>Lorem ipsum 2</p> <figure><img src="" alt=""></figure>';
如何解析此字符串以获取如下标签数组?
let dataArray = [
'<p>Lorem ipsum</p>',
'<figure><img src="" alt=""></figure>',
'<p>Lorem ipsum 2</p>',
'<figure><img src="" alt=""></figure>',
];
解决方案
把它变成一个文件DOMParser
,然后把 body 的孩子和.map
他们的.outerHTML
:
const str = '<p>Lorem ipsum</p> <figure><img src="" alt=""></figure> <p>Lorem ipsum 2</p> <figure><img src="" alt=""></figure>';
const doc = new DOMParser().parseFromString(str, 'text/html');
const arr = [...doc.body.children].map(child => child.outerHTML);
console.log(arr);
(您也可以通过创建一个元素并将innerHTML
元素的
推荐阅读
- python - 如果字典中的标志为真,如何将文件从一个文件夹复制到另一个文件夹
- java - 根据进一步的条件向标准添加多个参数
- mysql - 返回已启动和已解决案例 sql 表
- python - 单独自定义 matplotlib 刻度标签
- api-platform.com - Api 平台,仅用于计算的实体,未与数据库链接 -> 标识符配置无效
- python - Try / except 在读取 json 时对 UnicodeEncodeError: 'UCS-2' 不起作用
- python - 如何聚合基本上包含相同信息但因区分大小写而被隔离的数据框列
- scala - SBT:自定义命令/任务以发布 FAT 或 SLIM jar
- python - 如果对象的 ID 号存在,则删除对象
- c - 结构变量初始化问题