簡體   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