簡體   English   中英

使用javascript查找HTML標簽在文本中的位置,最好不使用正則表達式?

[英]Find position of HTML tags in text with javascript, preferrably not using regex?

我有包含HTML標記的文本。 我想找出每個標簽對的開始和結束位置。 即打開標簽的文本位置和標簽的文本位置。

因為我知道使用正則表達式匹配標簽很復雜(關於嵌套標簽,引號等),所以我想使用一些更可靠的方法-例如DOM函數。

我的文字示例:

text <tag>text text </tag> text

在我的示例文本中,結果應為兩個數字-5(開始標記的位置)和26(結束標記的最后一個字母的位置)

我的文字的復雜示例:

text <tag> text <tag2> text </tag2> text </tag> text

在第二個示例中,結果應該是兩個數字-5和47(第一級標簽的結尾位置-我不在乎嵌套標簽)

這可能嗎 ? 期待任何提示和幫助。 謝謝。

盡管這不能回答有關職位的問題,但您可能需要查看XMLDom。 您必須人為地為文檔創建一個根節點,但是事情應該可以進行:

var txt = "text <tag> text <tag2> text </tag2> text </tag> text";
txt = '<root>' + txt + '</root>';

var parser = new DOMParser();
var xmlDoc = parser.parseFromString(txt, "text/xml");

alert(xmlDoc.firstChild.childNodes);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM