我有一个字符串,里面有一些html标签。我希望能够找到一个开始和结束标记,并添加缺少的标记。 例如,假设我有这个字符串:
Hello <strong>from <em>StackOverflow</strong> Hows it going</em>.
我希望能够在结束<em>
之前关闭第一个</strong>
,并在结束<em>
后立即添加一个开头</strong>
。
我会知道包含哪些标签,但我提供的字符串可能包含混合开/关标签的任何变体。
如果没有DOMParser或innerHTML的帮助,我该如何处理?
基本上,我想迭代字符串,当我遇到<
时,我想要开始一个开始字符串,然后在>
关闭它。然后,当我遇到</
并在>
结束时,我想要开始结束标记。
问题是,在迭代字符串时,由于一次检查一个字符,我将始终启动一个开始标记?在迭代时,如何从字符串中构建这些标记?
答案 0 :(得分:0)
您可以在JavaScript中使用(<.+?>)
这样的正则表达式找到开始和结束标记 的位置,但是在JavaScript中不支持regex lookbehind,您要问的可能是不可能的,由于您永远无法确定哪个结束标记与哪个开始标记相关。
希望这有帮助!