1

如果我有一个像这样的 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,以便我<br>在 html 末尾只有 1 个,所以人们将无法在最后创建 40 个新行?

解决方案如下所示:

  <strong>
        <br />\r\n
        <br />\r\n
    <table></table>
        <br />\r\n
        </strong>\r\n
        </span>\r\n
4

2 回答 2

0

不确定您在什么上下文中提出问题,但您可以使用下一个相邻选择器在页面本身上使用 jQuery, 如下所示:

$("br+br").remove();

这是它的一个例子。

如果您只想删除表格后面的中断标记,只需将您的 jQuery 语句更改为如下所示:

$("table").nextAll("br+br").remove();

这是一个实际的例子。

这里是在您的页面中包含 jQuery 的说明

于 2012-07-10T13:50:01.563 回答
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");
}
于 2012-07-10T14:54:55.567 回答