2011-12-15 5 views
0

/플래시actionscript htmltext. 동적 HTML 텍스트에서 테이블 태그를 제거 3.0 AS

  1. 내가 제어 할 수없는 XML을 소비하고있다.
  2. XML에는 HTML 텍스트 필드에 스타일을 지정하고 표시하는 HTML이 있습니다.
  3. 링크를 제외한 모든 HTML을 제거하고 싶습니다.

Strip all HTML tags except links 이 저에게 효과적이지 않습니다.

어떤 조언이 있습니까? regEx?

다음은 테이블을 제거합니다. var reTable : RegExp = /<table\s+[^>]*>.*?<\/table>/s;

하지만 지금은 콘텐츠가 테이블에 있어야하며 링크가 필요하다는 것을 알고 있습니다.

감사합니다.

CP

+0

html에서 무엇인가를 제거 할 필요가 없습니다. code ==> 4 자리로 표시하거나 코드를 표시하고 코드 형식 버튼을 사용하거나 Ctrl + k를 누르십시오. – stema

+0

서식과 괄호를 추가했습니다. – weltraumpirat

답변

0

당신이이 같은 간단한 일을 걱정하지 않으면 아마 HTML을 구문 분석하는 정규식을 사용하지만 안 :

/<table\s+[^>]*>.*?<\/table\s+>/

+0

var reTable : RegExp =/ *>. *? <\/table>/s; 테이블과 그 안에있는 모든 것을 제거했습니다. 이제는 테이블 안의 내용이 필요하다는 것을 알았습니다. 나는 그것을 그것에 지킬 것이다. –

0

액션이있다 ""대체 찾기 XML 처리를위한 아주 깔끔한 도구 : E4X. RegEx를 사용하는 대신 XML을 사용하여 XML 트리를 수정하면됩니다.

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); 
}