1

HTML 文字列を解析し、空の子のみを含むすべての要素を削除する必要があります。

例:

<P ALIGN="left"><FONT FACE="Arial" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="1"><B></B></FONT></P>

情報が含まれていないため、次のものに置き換える必要があります</br>

私は次のような正規表現を書きました:

<\w+\b[^>]*>(<\w+\b[^>]*>\s*</\w*\s*>)*</\w*\s*>

しかし問題は、3 つのうち 2 つのレベルしかキャッチしていないことです。上記の例では、<p>要素 (最も外側の要素) は選択されていません。

この正規表現を修正するのを手伝ってもらえますか?

4

2 に答える 2

2

jQuery を使用して、すべての子を解析します。子ごとに、.html() が空かどうかを確認する必要があります。はいの場合 -> .remove() を使用して現在の要素 (または必要に応じて親) を削除します。

各文字列に対して次のことを行います。

var appended = $('.yourparent').append('YOUR HTML STRING');

appended.children().each(function () 
{
    if(this.html() === '')
    {
        this.parent().remove(); 
    }
});

これにより、最初に項目が追加され、空の子がある場合は削除されます。

于 2013-11-13T10:32:46.070 に答える