Flashhilfe.de - Flash Community

Prototype: removeTags [Flash 8]

 


AntwortenRegistrieren Seite1  

MoD#1
Benutzerbild von MoD
Beiträge: 170
Wohnort: Bei Karlsruhe
Registriert: Nov 2002

30.04.2004, 17:17

Entfernt alle Tags aus einem String (XML-Variante)

Prototype:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
//FLASH5-VERSION
string.prototype.removeTags=function()
{
   var stringAsXML=new XML(this);
   var ACTUALnode=stringAsXML.firstChild;
   var DOstepNum=0;
   var DONEstep;
   var DONEsearching=false;
   var ENDsearching=false;

   var RETURNstringWithoutTags;

   if(ACTUALnode!=null)
   {
      while(ENDsearching!=true)
      {
         if(ACTUALnode.nodeName==null)
         {
            if(ACTUALnode.nodeValue!=null)
            {         RETURNstringWithoutTags+=ACTUALnode.nodeValue;
            }
         }


         if(DONEsearching==true)
         {
            ENDsearching=true;

            break;
         }


         DONEstep=false;

         if(DOstepNum==0)
         {
            if(ACTUALnode.hasChildNodes()==true)
            {
               ACTUALnode=ACTUALnode.firstChild;

               DONEstep=true;
            }else
            {
               DONEstep=false;
            }

            if(ACTUALnode.firstChild.hasChildNodes)
            {
               DOstepNum=0;
            }else
            {
               DOstepNum=1;
            }
         }

         if((DOstepNum==1) && (DONEstep!=true))
         {
            if(ACTUALnode.nextSibling)
            {
               ACTUALnode=ACTUALnode.nextSibling;

               DOstepNum=0;
               DONEstep=true;
            }else
            {
               while((!ACTUALnode.nextSibling) && (ACTUALnode.parentNode))
               {
                  ACTUALnode=ACTUALnode.parentNode;
               }

               if(ACTUALnode.nextSibling)
               {
                  ACTUALnode=ACTUALnode.nextSibling;

                  DOstepNum=0;
                  DONEstep=true;
               }else
               {
                  DONEsearching=true;
               }
            }
         }
      }
   }

   return RETURNstringWithoutTags;
}


Beispiel Aufruf:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
/*
Diese Variante mit XML ist (nach meinen Tests) fast 10mal schneller als eine Variante mit indexOf("<") etc., was wahrscheinlich daran liegt, dass stringfunktionen sehr langsam sind (also möglichst meiden!) und ich hier xml benutz habe.
DAS SCRIPT IST FÜR FLASH5 AUSGELEGT UND GETESTET
->ich kenne die nachfolgerversionen nicht, vielleicht kanns jemand mal umschreiben


*/


//teststring von sebastian
testString="<b>Flashhilfe.de</b><p> <br>::</p>:<br> <font color=\"green\">Flash-Community</font> :::";
testStringWithoutTags=testString.removeTags();
trace("String mit Tags: "+testString+"\nString ohne Tags: "+testStringWithoutTags);

Schlagwörter: prototype, String

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de