actionscript htmltext。从动态html文本中删除表标记

时间:2011-12-15 21:23:50

标签: regex actionscript-3 htmltext

AS 3.0 / Flash

  1. 我正在使用我无法控制的XML。
  2. XML中包含HTML,我正在样式化并在HTML文本字段中显示。
  3. 我想删除除链接之外的所有HTML。
  4. Strip all HTML tags except links 对我不起作用。

    有人有任何提示吗?正则表达式?

    以下删除表格。 var reTable:RegExp = /<table\s+[^>]*>.*?<\/table>/s;

    但现在我意识到我需要保留表格内容,我还需要链接。

    感谢!!!

    CP

2 个答案:

答案 0 :(得分:0)

可能不应该使用正则表达式来解析html,但是如果你不在乎,就像这样简单:

找到/<table\s+[^>]*>.*?<\/table\s+>/
替换&#34;&#34;

答案 1 :(得分:0)

ActionScript有一个非常简洁的工具来处理XML:E4X。而不是依赖于RegEx,我发现它经常与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);
}