2015-12-16 49 views
1

我们有一个HTML内容,如正则表达式:解析HTML某些HTML

<em></ em > 
<font style="text-align:justify;">aaaaaaaaaaa</font> 
<img src="abc.jpg"/> 
<iframe src="somelink.com"> 
</iframe> 
<br> 
<br/> 

我们要改变所有的HTML标签,以<p></p>

,但不改变<img/><br/>标签,一些<br/>标签可能会显示<br>

所以,以下是我们的预期结果:

<p></p> 
<p>aaaaaaaaaaa</p> 
<img src="abc.jpg"/> 
<p> 
</p> 
<br> 
<br/> 

我的正则表达式等(C#):

String result = Regex.Replace(content, @"<[^/b>]*>", "<p>"); 
result = Regex.Replace(result, @"</[^>]*>", "</p>"); 

但它不能跳过某些标签, 请帮帮我,谢谢!

+1

'd * TP * S * E H *。 l w。* h r。* g。* x' –

+1

不要对HTML更改使用正则表达式,使用jQuery或某些类似的HTML解析库/函数。 [使用正则表达式来解析HTML:为什么不?](http://stackoverflow.com/questions/590747/using-regular-expressions-to-parse-html-why-not) – Tushar

+0

@Tushar好的 - 但是什么库支持将任何类型的标签替换为指定的标签? –

回答

1

您可以使用此:

<(?<close>/?)((?!img|br).)*?>

,并替换为:。

<${close}p>

CODE SAMPLE

+0

它的工作原理!谢谢 ! –

+1

它具有更多的字符'?'在 <${close}p>的结尾? –

+0

@ A-U固定..... –