Regular Expression

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Regular Expression

    Servus,
    Ich bin gerade dabei für den kleinen Gebrauch eine Template Engine zu schreiben. So langsam aber sicher blicke ich endlich in Sachen RegExp durch. Dennoch stehe ich immer wieder vor kleinen unverständlichkeiten, die ich aber meist durch Google oder Dokumentationen lösen kann.

    Nach längerem, erfolglosen Suchen, will ich mich nun mit meinem Problem an euch wenden.

    Die Zentrale Frage ist eigentlich...

    Kann ich in meinem Platter auf ein bereits gefundes Match zugreifen?

    Beispiel:

    HTML-Code:
    <temp:loop value="items">
    <temp:loopitem loop="items" value="item1">
    <temp:loopitem loop="items" value="iteme2">
    </temp:loop value="items">
    Das Array dazu:
    Array ( [items] => Array ( [0] => Array ( [item1] => Hans [item2] => Mueller ) [1] => Array ( [item1] => Dieter [item2] => Schmidt ) ) )Meine RegExp für preg_replace_callback():
    <temp:loop\svalue="(.*)">(.*)<\/temp:loop\svalue="###">

    Die drei ### würde ich gerne gegen eine "Variable" für Match 1, also "items" ersetzen. Ansonsten würde bei einer Schleife in der Schleife, diese an falscher stelle beendet.

    Ich hoffe ich habe es einigermaßen verständlich umschrieben.

    Gruß Markus

  • #2
    Reguläre Ausdrücke sind für die Verarbeitung von XML-Code ungeeignet. Verwend einen XML-Parser wie zB. DOMDocument.

    Kommentar

    Lädt...
    X