删除空段落标记

时间:2015-07-08 06:45:38

标签: c# css vb.net

我想找到在任何文本启动之前修剪空

标记的最简单方法。例如,我有以下文字。

<p> </p><p> </p>
<p> </p><p>     </p>
<p>    </p>
<p>This is an example<br></p><p> </p><p>continue </p>

我希望输出为<p>This is an example<br></p><p> </p><p>continue </p>

我希望删除所有空P标签。

标签之间可以有多个空格。

我可以选择使用CSS或VB或c#。

6 个答案:

答案 0 :(得分:2)

发表评论,您也接受C#我建议使用简单的正则表达式来验证:

var source = @"<p> </p><p> </p>
<p> </p><p>     </p>
<p>    </p>
<p>This is an example<br></p><p> </p><p>continue </p>";

string output = Regex.Replace(source, @"<p>\s*</p>", "").Trim();

使用Telerik转换的VB.net中的相同代码应如下所示:

Dim source = "<p> </p><p> </p>" & vbCr & vbLf & "<p> </p><p>     </p>" & vbCr & vbLf & "<p>    </p>" & vbCr & vbLf & "<p>This is an example<br></p><p> </p><p>continue </p>"

Dim output As String = Regex.Replace(source, "<p>\s*</p>", "").Trim()

说明:

<p> matches the characters <p> literally
\s* match any white space character [\r\n\t\f ] 0 to unlimited times
</p> matches the characters </p> literally

答案 1 :(得分:1)

您已在css中标记了自己的问题。所以,我使用:empty pseudo class selector

在css中为您提供答案
p:empty{
  display: none;
}

请参阅can I use :empty

根据您更新的问题:

您可以使用not,如下所示:

p:empty :not(p + p:empty){
   display: none;
}

答案 2 :(得分:0)

我认为这个css技巧会起作用:

<svg width="600px" height="400px" viewBox="0 0 600 400">
    <circle cx="200" cy="200" r="180" style="stroke: red; fill: none;"/>
    <line x1="200" y1="220" x2="200" y2="180" style="stroke: black"/>
    <line x1="180" y1="200" x2="220" y2="200" style="stroke: black"/>
    <path d="M200,200 L20.178,208 A180,180 0 0,1 377.482,170 z" style="stroke: blue; fill:none"/>
    <path d="M200,200 L20.178,208 A180,180 0 1,0 377.482,170 z" style="stroke: green; fill:none"/>
</svg>

答案 3 :(得分:0)

您可以查看以下网站以获得解决方案,我认为它会对您有所帮助: http://www.dotnetperls.com/remove-html-tags

答案 4 :(得分:0)

使用 jQuery,而不是c#,vb.net或CSS

在文档就绪事件

上写下这个
var p = $("p"); 

    for (var i = 0; i < p.length; i++)
   { 
       if($.trim(p[i].innerHTML) == "")
        {
          p[i].remove();
         }
    }
  1. 查找所有P标签
  2. 迭代它们以找到空标记
  3. 删除它们
  4. JSFiddle

答案 5 :(得分:-1)

请试试这个

   function removeEmptyPTags() {            
                var items = $('body').find('p');
                $.each(items, function (i, v) {
                    if ($(items[i]).html().trim() === "") {
                        $(items[i]).remove();
                    }
                });
            }