如果我有一个html字符串,如:
<strong>
<br />\r\n
<br />\r\n
<table></table>
<br />\r\n
<br />\r\n
<br />\r\n
<br />\r\n
<br />\r\n
<br />\r\n
</strong>\r\n
</span>\r\n
是否可以剥离html以便我在html结尾处只有1 <br>
,所以人们最终不能创建40个新行?
解决方案如下:
<strong>
<br />\r\n
<br />\r\n
<table></table>
<br />\r\n
</strong>\r\n
</span>\r\n
答案 0 :(得分:0)
不确定您在问自己的问题的上下文,但您可以使用the next adjacent selector在页面本身上使用jQuery,如下所示:
$("br+br").remove();
Here is an example of it in action.
如果你想只是删除你的表后面的中断标记,只需改变你的jQuery语句看起来像这样:
$("table").nextAll("br+br").remove();
答案 1 :(得分:0)
如果可以,请查看HTML Agility Pack。它可以帮助你。
这是我写的测试代码:
static void Main(string[] args)
{
var htmlDoc = new HtmlDocument();
htmlDoc.Load(@"E:\Libs\HtmlAgilityPack.1.4.0\htmlstring.html");
var nodes = htmlDoc.DocumentNode.SelectNodes("//br").Skip(3);
foreach (HtmlNode node in nodes)
{
node.PreviousSibling.Remove();
node.Remove();
}
var output = htmlDoc.DocumentNode.OuterHtml;
htmlDoc.Save(@"E:\Libs\HtmlAgilityPack.1.4.0\htmlstring-changed.html");
}