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 の最後に1 つしかないように html を削除<br>して、最後に 40 行の新しい行を作成できないようにすることはできますか?

ソリューションは次のようになります。

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

2 に答える 2

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 に答える
0

どのコンテキストで質問をしているのかわかりませんが、次 のように隣接する次のセレクターを使用して、ページ自体で jQuery を使用できます。

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

これが実際の動作例です。

テーブルの後にある区切りタグだけを削除したい場合は、jQuery ステートメントを次のように変更するだけです。

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

これが実際の動作の例です。

ページに jQueryを含める手順は次のとおりです。

于 2012-07-10T13:50:01.563 に答える