2014-01-22 116 views
2

我正在論壇上工作,需要替換不同標記的功能。但是,當它搜索[qoute]標籤時,它只搜索第一行,但我希望它搜索整個字符串,因爲它的blockquote和multipe行。HTML標記替換多行

////Block Quote 
regExp = new Regex(@"\[quote\](.*?)\[\/quote\]"); 
strTextToReplace = regExp.Replace(strTextToReplace, "<blockquote>$1</blockquote>"); 

我該如何做到這一點?

+2

看到這篇文章解析與正則表達式的HTML。 http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – Nico

回答

2

.默認情況下不符合換行符。使用RegexOptions.Singleline可使.匹配任何字符(包括換行符)。

regExp = new Regex(@"\[quote\](.*?)\[/quote\]", RegexOptions.Singleline); 

OR 

regExp = new Regex(@"(?s)\[quote\](.*?)\[/quote\]"); 

順便說一句,你不需要轉義/