簡體   English   中英

jQuery替換html標簽和鏈接之外的內容

[英]jQuery replace content outside html tag and links

很抱歉張貼(我通常會試着躲避它),但是我無法找出問題所在。 我嘗試用jQuery和regex替換頁面內容中的特定單詞。

但是我不想替換HTML標記和鏈接中的單詞。 示例-這是原始句子:

Let's talk about John. John is a nice guy and rocks. <a href="www.john.com">Click here to meet up John.</a>

如果我想將“ John”替換為“ Kevin”,則應變為:

Let's talk about Kevin. Kevin is a nice guy and rocks. <a href="www.john.com">Click here to meet up John.</a>

到目前為止,我所做的是:

new RegExp("(?!<a.*?>)John(?!</a>)(?!([^<]+)?>)","g");

它幾乎可以完成這項工作,但不適用於以上示例。 它顯示:

Let's talk about Kevin. Kevin is a nice guy and rocks. <a href="www.john.com">Click here to meet up Kevin.</a>

抱歉,我對正則表達式了解不多。 如果您能幫幫我,我會很高興。 謝謝一堆!

試試這個伴侶! :)

John(?![^<]*</a>)

工作示例:

http://regex101.com/r/hS2mI2

因此,在javascript中,它將是:

new RegExp("John(?![^<]*</a>)","g");

而且,如果“ John”不需要區分大小寫,則只需添加i標志,就像這樣:-> new RegExp(“ John(?![^ <] *)”,“ g i ”);

暫無
暫無

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

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