删除除<p>和</p>之外的html标签正则表达式

时间:2014-07-24 08:39:45

标签: c# html regex

我想删除除<p></p>标记之外的所有html标记

我在c#

工作

例如:<p>你好<a href=kuku>给你</a> </p>

应该向<p>发送</p>你好{/ 1}}

P.S。我正在使用正则表达式功能,但我愿意接受建议

1 个答案:

答案 0 :(得分:0)

使用这个简单的正则表达式:

<(?!/?p>)[^<>]*>

请参阅 the Regex Demo 底部的替换。

在C#中:

resultString = Regex.Replace(yourString, 
                              "<(?!/?p>)[^<>]*>", "", 
                              RegexOptions.IgnoreCase);

<强>解释

  • <匹配开始标记
  • 否定前瞻(?!/?p>)断言后面的内容不是可选的斜杠和结束标记>
  • [^<>]*匹配任何非<>
  • 的字符
  • >与结束标记
  • 匹配
  • 我们用空字符串替换