Caryi_Wong (caryi)
我分享了代码,断 HTML 标签是否匹配;
思路分析:

声明变量 stack、nodes;并从头遍历 HTML 字符串,查找字符"<"的位置;

如果字符"<"的位置等于 0:

则继续尝试匹配 HTML 结束标签,匹配成功并且与栈顶的标签名称一致,则弹出栈顶;否则报错;
匹配 HTML 结束标签失败以后,则尝试匹配开始标签的起始部分,然后循环匹配标签属性对,最后匹配开始标签的结束部分。匹配完成以后,将匹配到的标签压入栈顶;并构建 node 节点数;
如果字符"<"的位置大于 0:

则 html.slice(0, pos),创建文本节点。

注意:关闭本对话框后, 你将看到由 Caryi_Wong (caryi) 开发的DEMO演示:断 HTML 标签是否匹配; 思路分析: 声明变量 stack、nodes;并从头遍历 HTML 字符串,查找字符"<"的位置; 如果字符"<"的位置等于 0: 则继续尝试匹配 HTML 结束标签,匹配成功并且与栈顶的标签名称一致,则弹出栈顶;否则报错; 匹配 HTML 结束标签失败以后,则尝试匹配开始标签的起始部分,然后循环匹配标签属性对,最后匹配开始标签的结束部分。匹配完成以后,将匹配到的标签压入栈顶;并构建 node 节点数; 如果字符"<"的位置大于 0: 则 html.slice(0, pos),创建文本节点。,仅限工作交流和学习, 切勿在页面中填写你的登录密码、个人信息或向他人转账。


我已知晓安全风险,并继续浏览测试页面

编辑源码 | 下载源码