Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跟踪更改类实现的HTML差异_Html_Node.js_Python 3.x - Fatal编程技术网

跟踪更改类实现的HTML差异

跟踪更改类实现的HTML差异,html,node.js,python-3.x,Html,Node.js,Python 3.x,我正在尝试实现一个类似谷歌文档的版本历史记录,它可以跟踪文档的更改。我的输入是HTML代码,包括更改前后。我读过和的文章,但意识到它们非常适合识别源代码之间的差异,即HTML标记只是简单地读作纯文本 以下是一个例子: //Before <ol> <li><strong>This is first bullet point</strong> <ol style="list-style-type: lower-alpha;

我正在尝试实现一个类似谷歌文档的版本历史记录,它可以跟踪文档的更改。我的输入是HTML代码,包括更改前后。我读过和的文章,但意识到它们非常适合识别源代码之间的差异,即HTML标记只是简单地读作纯文本

以下是一个例子:

//Before
<ol>
    <li><strong>This is first bullet point</strong>
        <ol style="list-style-type: lower-alpha;">
            <li>First bullet - sub a</li>
            <li>First bullet - sub b</li>
        </ol>
    </li>

    <li><strong>This is second bullet point</strong>
        <ol style="list-style-type: lower-alpha;">
            <li>Second bullet - sub a
                <ol style="list-style-type: lower-roman;">
                    <li>Point 1</li>
                    <li>Point 2</li>
                </ol>
            </li>
            <li>Second bullet - sub b</li>
            <li>Second bullet - sub c</li>
        </ol>
    </li>
</ol>

//After
<ol>
    <li><strong>This is first bullet point</strong>
        <ol style="list-style-type: lower-alpha;">
            <li>First bullet - sub a with extended content</li>
            <li>Edited bullet - sub b</li>
        </ol>
    </li>

    <li><strong>This is second bullet point</strong>
        <ol style="list-style-type: lower-alpha;">
            <li><u>Second bullet - sub a</u>
                <ol style="list-style-type: lower-roman;">
                    <li>Point 1</li>
                    <li>Point 2</li>
                    <li>Point 3</li>
                </ol>
            </li>
            <li>Second bullet - sub b</li>
            <li>Newly inserted bullet</li>
            <li>Second bullet - sub c</li>
        </ol>
    </li>
</ol>
//之前
  • 这是第一个要点
  • 第一颗子弹-潜艇a
  • 第一个项目符号-sub b
  • 这是第二个要点
  • 第二颗子弹-子弹a
  • 第1点
  • 第2点
  • 第二个项目符号-sub b
  • 第二个项目符号-sub c
  • //之后
  • 这是第一个要点
  • 第一个项目符号-具有扩展内容的sub a
  • 编辑项目符号-子b
  • 这是第二个要点
  • 第二颗子弹-子弹a
  • 第1点
  • 第2点
  • 第3点
  • 第二个项目符号-sub b
  • 新插入的子弹
  • 第二个项目符号-sub c
  • 我尝试了,但似乎都是以纯文本的形式读取HTML标记。换句话说,像
    /u>