PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Brauche RegEx unterstützung...



Matflasch
31-03-2005, 17:11
Hi,

ich habe über 200 Zeilen PHP-Code im Format:


case "al": $result = array("al", "Albanien"); break;

Diese sollten nun aber in das Format gebracht werden:


case "ax":
$this->strLanguage = "ax";
$this->strCountry = "Aland";
break;

Kann mir jemand sagen, wie man das mit RegEx anstellen kann?

Bei kleinen RegEx-Sachen bekomme ich das wohl hin, aber das ist mir im Moment irgendwie zu kompliziert und die >200 Zeilen von Hand.... naja :rolleyes:

Danke schonmal!

Mfg, Matflasch

fs111
31-03-2005, 17:16
Das schreit nach einem HashTable.

fs111

shb
31-03-2005, 22:07
du kannst mit vim z.b. den text markieren (v) dann nach ; und durch ;\n ersätzen lassen, und das ganze auch mit dem : .
auch und mit = kann man die zeilen der syntax automatisch einrücken lassen.
ich denke damit sollte das problem auch recht schnell behoben sein.

cu SHB

Matflasch
01-04-2005, 09:14
Hmm, habe es bisher einfach so gelassen und dann unten drunter:


$this->strLanguage = result[0];
$this->strCountry = result[0];

Somit habe ich immernoch ca 200-300 Zeilen statt 200-300 * 4 Zeilen.
Sieht besser aus und wegen geschwindigkeit sollte ich mir bei einem Switch eigentlich keine Sorgen machen ;)

Trotzdem danke!

fs111
01-04-2005, 20:21
Hmm, habe es bisher einfach so gelassen und dann unten drunter:


$this->strLanguage = result[0];
$this->strCountry = result[0];

Somit habe ich immernoch ca 200-300 Zeilen statt 200-300 * 4 Zeilen.
Sieht besser aus und wegen geschwindigkeit sollte ich mir bei einem Switch eigentlich keine Sorgen machen ;)

Trotzdem danke!


Wieso machst Du das so und erledigst das nicht in wenigen Zeilen und einem Hash?

fs111

Matflasch
02-04-2005, 03:23
hmm, wahrscheinlich, weil ich mit ner Hash-Table noch nie gearbeitet habe und ich auf php.net nichts über eine hashtable gefunden habe beim überfliegen und weil die zeile schon existieren soweit ;)

Ich nehme aber gerne Tipps entgegen, wie es eleganter, schneller, besser geht :)

Mfg, Matflasch

fs111
02-04-2005, 10:57
Ein Hash wird auch als "assoziatives array bezeichnet, unter Perl eben Hash, in Python sagt mal dictionary und in PHP ist das in die normalen arrays fest eingebaut, also anstatt numerischer indexe einfach Schlüssel verwenden.

fs111

Matflasch
02-04-2005, 17:11
Achso, dann ist's mir doch schon bekannt :)

Stimmt, so könnte man es noch besser umsetzen, dann werd ich das mal so machen. Danke für den Tipp! :)

Mfg, Matflasch