0

AS 3.0 / フラッシュ

  1. 私は制御できない XML を使用しています。
  2. XMLにはHTMLが含まれており、HTMLテキストフィールドにスタイルを設定して表示しています。
  3. リンク以外のすべてのhtmlを削除したい。

リンク以外のすべての HTML タグを削除 してもうまくいきません。

誰にもヒントはありますか?正規表現?

以下はテーブルを削除します。var reTable:RegExp =/<table\s+[^>]*>.*?<\/table>/s;

しかし今、テーブルであるコンテンツを保持する必要があり、リンクも必要であることに気付きました。

ありがとう!!!

CP

4

2 に答える 2

0

ActionScriptには、XMLを処理するための非常に優れたツールであるE4Xがあります。私がよく目にする正規表現に依存するのではなく、XMLを台無しにするのではなく、実際のXMLツリーを変更するだけで、AS内から次のようになります。

var xml : XML = <page>
                  <p>Other elements</p>
                  <table><tr><td>1</td></tr></table>
                  <p>won't</p>
                  <div>
                      <table><tr><td>2</td></tr></table>
                  </div>
                  <p>be</p>
                  <table><tr><td>3</td></tr></table>
                  <p>removed</p>
                  <table><tr><td>4</td></tr></table>
            </page>;

clearTables (xml);

trace (xml.toXMLString()); // will output everything but the tables

function removeTables (xml : XML ) : void {
    xml.replace( "table", "");
    for each (var child:XML in xml.elements("*")) clearTables(child);
}
于 2011-12-15T22:20:02.817 に答える
0

おそらく正規表現を使用して html を解析するべきではありませんが、気にしない場合は、次のような単純なものを使用してください。

検索/<table\s+[^>]*>.*?<\/table\s+>/
置換 ""

于 2011-12-15T21:49:41.667 に答える