正则表达式陷阱img标签,两个版本

时间:2009-11-13 14:26:08

标签: c# regex

我需要从文本中删除图片代码,因此标记的两个版本都是:

<img src="" ... ></img>


<img src="" ... />

2 个答案:

答案 0 :(得分:6)

在C#中,您可以使用以下代码:

            string html = @"
<h1>
<img src="" ... >
</img>
<img></img>-bad
<img/>-bad
<img src="" ... />
</h1>";
            string result = Regex.Replace(html, @"<img\s[^>]*>(?:\s*?</img>)?", "", RegexOptions.IgnoreCase);

但请注意,使用Regex修改HTML并不是一种好方法,最好使用Html Agility Pack  或其他HTML解析器。

答案 1 :(得分:4)

这是你用正则表达式做的not。请改用xpath - 查询//img