正则表达式:将html解析为特定的html

本文关键字:html 正则表达式 | 更新日期: 2023-09-27 18:26:54

我们有一个类似的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>");  

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

正则表达式:将html解析为特定的html

您可以使用这个:

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

并替换为:

<${close}p>

代码样本