Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-05-2007, 10:03   #1 (permalink)
Neuer User
 
Benutzerbild von BlackRAt
 
Registriert seit: May 2004
Ort: Auerbach
Beiträge: 72
[STUFF] print_r aus PHP in Flash einlesen

Mahlzeit,

Hab das Forum nach ner Funktion durchsucht die mir ein print_r aus PHP in ein Flash Array importiert. Hab nix gefunden also hab ich mich mal munter in die Sache reingestürzt. Rausgekommen is dabei was des funktioniert aber noch net flexibel/Umfangreich genug ist. Bis jetzt kann die Funktion die Syntax von print_r nur bis zur 5. Stufe auflösen, und das auch nur wenn man die ausgabe per String übergibt. Hab im moment bischen wenig Zeit weiter zu machen. Aber wer will darf sich gerne versuchen ;-)

Ziemlich unsauberer Qual-code aber auf die schnelle.... egal, vll hilfts jemandem ^^

PHP-Code:
function parsePrint_R(inputString) {
    
inputString stringReplace(inputString"\r""");
    
inputString stringReplace(inputString"\n""");
    
inputString stringReplace(inputString"    """);
    
_root.arrayInfo = new Array();
    
_root.arrayInfo["Ebene"] = 0;
    
_root.arrayInfo["Pfad"] = new Array();
    
_root.arrayInfo["Pfad"][0] = "Daten";
    
this[_root.arrayInfo["Pfad"][0]] = new Array();
    
splitVar1 inputString.split('Array');
    for (
i=1i<splitVar1.lengthi++) {
        
splitVar2 splitVar1[i].split('[');
        for (
j=1j<splitVar2[j].lengthj++) {
            
splitVar3 splitVar2[j].split('] => ');
            if (
splitVar3[1] == "") {
                
//trace("Array_"+splitVar3[0]);
                
_root.arrayInfo["Ebene"]++;
                
_root.arrayInfo["Pfad"][_root.arrayInfo["Ebene"]] = splitVar3[0];
                
parsePrint_R_mkEintrag("array");
            } else {
                
splitVar4 splitVar3[1].split(")");
                if (
splitVar4.length>1) {
                    
//trace(splitVar4[0]);
                    
parsePrint_R_mkEintrag("eintrag"splitVar3[0], splitVar4[0]);
                    
delete _root.arrayInfo["Pfad"][_root.arrayInfo["Ebene"]];
                    
_root.arrayInfo["Ebene"]--;
                } else {
                    
//trace(splitVar3[1]);
                    
parsePrint_R_mkEintrag("eintrag"splitVar3[0], splitVar3[1]);
                }
            }
        }
    }
    
delete i;
    
delete j;
    
delete inputString;
    
delete arrayInfo;
    
delete splitVar1;
    
delete splitVar2;
    
delete splitVar3;
    
delete splitVar4;
    return (
Daten);
}
function 
parsePrint_R_mkEintrag(artvar1var2) {
    if (
_root.arrayInfo["Ebene"] == 0) {
        if (
art == "array") {
            
trace("Brauchts net");
        } else if (
art == "eintrag") {
            
this[_root.arrayInfo["Pfad"][0]][var1] = var2;
            
//trace("Eintrag auf Ebene 0, Wert: "+var2);
        
}
    } else if (
_root.arrayInfo["Ebene"] == 1) {
        if (
art == "array") {
            
//trace("Lege Array 1 an");
            
this[_root.arrayInfo["Pfad"][0]][_root.arrayInfo["Pfad"][1]] = new Array();
        } else if (
art == "eintrag") {
            
//trace("Eintrag auf Ebene 1, Wert: "+var2);
            
this[_root.arrayInfo["Pfad"][0]][_root.arrayInfo["Pfad"][1]][var1] = var2;
        }
    } else if (
_root.arrayInfo["Ebene"] == 2) {
        if (
art == "array") {
            
//trace("Lege Array 1 an");
            
this[_root.arrayInfo["Pfad"][0]][_root.arrayInfo["Pfad"][1]][_root.arrayInfo["Pfad"][2]] = new Array();
        } else if (
art == "eintrag") {
            
//trace("Eintrag auf Ebene 1, Wert: "+var2);
            
this[_root.arrayInfo["Pfad"][0]][_root.arrayInfo["Pfad"][1]][_root.arrayInfo["Pfad"][2]][var1] = var2;
        }
    } else if (
_root.arrayInfo["Ebene"] == 3) {
        if (
art == "array") {
            
//trace("Lege Array 1 an");
            
this[_root.arrayInfo["Pfad"][0]][_root.arrayInfo["Pfad"][1]][_root.arrayInfo["Pfad"][2]][_root.arrayInfo["Pfad"][3]] = new Array();
        } else if (
art == "eintrag") {
            
//trace("Eintrag auf Ebene 1, Wert: "+var2);
            
this[_root.arrayInfo["Pfad"][0]][_root.arrayInfo["Pfad"][1]][_root.arrayInfo["Pfad"][2]][_root.arrayInfo["Pfad"][3]][var1] = var2;
        }
    } else if (
_root.arrayInfo["Ebene"] == 4) {
        if (
art == "array") {
            
//trace("Lege Array 1 an");
            
this[_root.arrayInfo["Pfad"][0]][_root.arrayInfo["Pfad"][1]][_root.arrayInfo["Pfad"][2]][_root.arrayInfo["Pfad"][3]][_root.arrayInfo["Pfad"][4]] = new Array();
        } else if (
art == "eintrag") {
            
//trace("Eintrag auf Ebene 1, Wert: "+var2);
            
this[_root.arrayInfo["Pfad"][0]][_root.arrayInfo["Pfad"][1]][_root.arrayInfo["Pfad"][2]][_root.arrayInfo["Pfad"][3]][_root.arrayInfo["Pfad"][4]][var1] = var2;
        }
    }
}
function 
stringReplace(stringsucheersetzeMit) {
    return (
string.split(suche).join(ersetzeMit));

__________________
Obiger Beitrag repräsentiert meine persönliche Meinung*
*Persönliche Meinung: Tolle Sache, jeder sollte eine haben
__________________________________________________

Geändert von BlackRAt (09-05-2007 um 10:42 Uhr)
BlackRAt ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele