繁体   English   中英

我可以在迭代字符串时构建开始/结束标签吗?

[英]Can I build opening/closing tags while iterating over a string?

我有一个字符串,其中包含一些 html 标签。 我希望能够找到一个开始和结束标签,并添加那些丢失的标签。 例如,假设我有这个字符串:

Hello <strong>from <em>StackOverflow</strong> Hows it going</em>.

我希望能够在关闭</strong> <em>之前关闭第一个<em>并在关闭</strong>添加一个开头<em> </strong> 我会知道包含哪些标签,但我提供的字符串可能包含混合开始/结束标签的任何变体。

如果没有 DOMParser 或 innerHTML 的帮助,我该如何处理?

基本上,我想迭代字符串,当我遇到< ,我想开始一个打开的字符串,并在>处关闭它。 然后,我想在遇到</时开始一个结束标记,并在>结束它。

问题是,在迭代一个字符串时,我总是会因为一次检查一个字符而开始一个开始标签? 我如何在迭代时从我的字符串中构建这些标签?

您可以使用像(<.+?>)这样的正则表达式在 JavaScript 中找到开始和结束标记的位置,但考虑到 JavaScript 不支持正则表达式后视,您所要求的可能是不可能的,因为您将永远无法确定哪个结束标签与哪个开始标签相关。

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM