javascript - 将 html 字符串拆分为字符串数组,按顶级标签拆分

标签 javascript html regex

说我有

var string = 
"<h1>Header</h1>
<p>this is a small paragraph</p>
<ul>
    <li>list element 1.</li>
    <li>list element 2.</li>
    <li>list element 3. With a small update.</li>
</ul>"
//newlines for clarity only

如何使用 javascript 分割这个字符串,以便我得到

var array = string.split(/*...something here*/)

array = [
"<h1>Header</h1>",
"<p>this is a small paragraph</p>",
"<ul><li>list element 1.</li><li>list element 2.</li><li>list element 3. With a small update.</li></ul>"
]

我只想分割顶部的 html 元素,而不是子元素。

最佳答案

你可以这样做:

var string = '<div><p></p></div><h1></h1>';
var elements = $(string).map(function() {
    return $('<div>').append(this).html();  // Basically `.outerHTML()`
});

结果:

["<h1>Header</h1>", "<p>this is a small paragraph</p>", "<ul>    <li>list element 1.</li>    <li>list element 2.</li>    <li>list element 3. With a small update.</li></ul>"]

关于javascript - 将 html 字符串拆分为字符串数组,按顶级标签拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16091803/

相关文章:

javascript - 使用 Javascript 的正则表达式从字符串中提取中间名和姓氏

java - 正则表达式结果列表而不是 Kotlin 中的第一个结果

javascript - setTimeout() 内的 document.write() 覆盖所有页面

JavaScript:在第一个等待的 Promise 之前异步函数中的代码会同步运行吗?

javascript - 无法在 IE 中通过 AJAX 更改 session 变量

python - 从 HTML 文档获取 XPath

javascript - 使文本框只有5的倍数

javascript - 检查网页上的文本框以获取特定字符串

javascript - 在新选项卡中打开但未与父选项卡分组

regex - 为什么 [01-12] 范围没有按预期工作?