Unterscheiden mit preg_match
Rafael
- php
Hallo Forum,
ich versuche gerade eine Layout-Datei nach Regular Expressions in ein Dokument umzuwandeln.
So habe ich zum Beispiel diese Abfrage:
$layout = preg_replace('/<!([a-zA-Z0-9äöüß\-_ ]+)\.?([0-9]+)?>/sm','<input type="text" name="$1" width="$2" />',$layout);
Die Layout-Datei sieht folgendermaßen aus:
<div class="fahrten">
<!Wagen-1-Fahrer1>
<!Wagen-1-Fahrer2>
<!Fahrtnummer1>
<!Fahrtext1>
<!LEGU1.20> <!LEID1.20>
<!Abladestelle1.20> <!Kofferanzahl1.20>
<!Montageendtag1>
<!Montageentzeit1>
</div>
Nun frage ich mich, ob sich das mit preg_replace so handhaben lassen könnte, dass das Attribut width nur dann gesetzt wird wenn auch ein Wert $2 existiert.
Danke für jede Hilfe!
Okay, falls ich das Genie bin, dass drauf gekommen ist, hier für die Nachwelt:
einfach ne Funktion drauß machen, also
$layout = preg_replace('/<!([a-zA-Z0-9äöüß\-_ ]+)\.?([0-9]+)?>/sm','<input type="text" name="$1" width="$2" />',$layout);
Falls das für jeden klar war gratuliere ich dem emsigen googler...
Peinlich... Neben dem Rechtschreibfehler auch noch vergessen die aktualisierte Zeile einzufügen.
$layout = preg_replace('/<!([a-zA-Z0-9äöüß\-_ ]+)\.?([0-9]+)?>/',replace('$1','$2');