[英]Removing empty paragraph tags
我想找到最简单的方法来修剪空
文字开始前添加标签。 例如,我有以下文字。 <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#。
提出您的意见,即您也接受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
您已在CSS中标记了您的问题。 所以,我正在使用:empty伪类选择器在CSS中为您提供答案:
p:empty{
display: none;
}
根据您更新的问题:
你可以用不低于这样的:
p:empty :not(p + p:empty){
display: none;
}
我认为这个CSS技巧会起作用:
p:empty {
display: none;
}
您可以查看以下网站以获取解决方案,我认为它将为您提供帮助: http : //www.dotnetperls.com/remove-html-tags
使用jQuery,而不是c#,vb.net或CSS
在文档准备好事件上写这个
var p = $("p");
for (var i = 0; i < p.length; i++)
{
if($.trim(p[i].innerHTML) == "")
{
p[i].remove();
}
}
请尝试这个
function removeEmptyPTags() {
var items = $('body').find('p');
$.each(items, function (i, v) {
if ($(items[i]).html().trim() === "") {
$(items[i]).remove();
}
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.