如何修复缺失的HTML,& lt; close>标签在HTML字符串的中间

本文关键字:HTML close 标签 中间 字符串 lt 何修复 open | 更新日期: 2023-09-27 18:03:31

我必须在我的项目中验证HTML字符串,

我有一个html:
<ul>
    <li>Test 1</li>
    <ol>
        <li>Test 2</li>        
    </ol>
    <li>Test 1</li>
</ul>

要求输出:

<ul>
    <li>Test 1</li>
</ul>
<ol>
    <li>Test 2</li>
</ol>
<ul>
    <li>Test 1</li>
</ul>

在HTML代码中缺少</ul><ul>标记。现在在这种情况下,如何搜索哪里是缺失的标签,以及如何在适当的地方插入适当的结束标签和开始标签。

我尝试了HTML敏捷包和Tidy库,但我找不到更好的解决方案。

如何修复缺失的HTML<open>,& lt; close>标签在HTML字符串的中间

使用任何DOM操作库,您将需要创建一个规则集,描述哪些元素可以是<ul>元素的子元素。遍历它的所有子元素,当您发现不允许的子元素(<ol>)时,将所有后续子元素(包括<ol>子元素)移动到<ul>元素的父元素,将其放置在<ul>元素的索引+ 1处。