![](/img/trans.png)
[英]Find position of HTML tags in text with javascript, preferrably not using regex?
[英]Find text not within HTML tags with Javascript (regex)
我有一個來自DOM元素的字符串,其中包含類似於以下內容:
<span class='greenhornet'>Can you catch the green?</span>
我需要知道綠色一詞的位置。
在這種情況下,如果我設置了模式/green/
,則JS exec()
當然會返回綠色的第一個匹配項(位置13)。
有沒有辦法告訴JS正則表達式忽略!
單詞green ,如果它介於<
和>
之間,或者有更簡單的方法嗎?
哦,我也不能只剝離HTML!
謝謝。
正如評論者(和user1883592)所建議的那樣,在此處剝離HTML或從HTML中解析文本是正確的答案。 在HTML上使用正則表達式是失敗者的游戲; 您已被警告。
但是,話雖如此,如果您真的想玩這個游戲,我首先要確保您的任期與最后一個結束括號之間沒有任何括號。 換一種說法:
var greenRegex = />[^<]+(green)/;
var position = "<span class='greenhornet'>Can you catch the green?</span>".search(greenRegex);
// position = 25, not 13
您可以獲取span元素的innerHTML。 無需正則表達式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.