2011-05-11 133 views
0

嗨我有一個免費的文本編輯器,用於在我的網站上用C#作爲代碼的博客帖子。我用下面的正則表達式來去除所有的HTML標記出來後的安全性:需要修改我的正則表達式忽略iframe標籤

Regex.Replace(value, @"<(.|\n)*?>", string.Empty); 

但是我現在有一個要求,讓YouTube視頻,它使用iframe嵌入,例如:

<iframe width="425" height="349" src="http://www.youtube.com/embed/ttBhGiuMUmU" frameborder="0" allowfullscreen></iframe> 

有人可以幫我修改這個正則表達式來允許這個嗎?

回答

1

嘗試這一個:

<(?!/?iframe)(.|\n)*?> 

(?!/?iframe)是負先行,即檢查該<後面沒有一個iframe/iframe

我測試online here on regexr

+0

這似乎工作謝謝! – lisburnite 2011-05-11 09:11:20

+0

需要轉義的「/」否則會給出錯誤。所以正則表達式應該是'<(?!\ /?iframe)(。| \ n)*?>'。這是[在線演示](http://regexr.com/3ggfl) – Sinha 2017-08-05 11:56:33