preg_replace funktion

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

  • preg_replace funktion

    Guten Abend,
    mich plagt momentan folgendes Problem:
    Ich bin momentan dabei, eine kleine Template-Engine zu basteln. Nun hab ich das Problem, dass ich den Tag {if $var == $var2} einbauen möchte. Soweit kein Problem, jedoch kann ja $var bzw. $var2 auch ein fester Wert sein, also {if $var == 1}. Mein Problem ist jetzt, wie ich herrausfinde, ob vor dem entsprechenden Wert ein $ steht (und somit eine Variable ist) oder ein feststehender Vergleichswert.

    Gruß matze

  • #2
    Du hats doch alles, was zwischen den geschwiften Klammern steht, oder?

    - Schmeiß das if weg
    - Bau dir ein Array mit allen Operanden, indem du mit preg_split bei allen möglich Operatoren den String aufspaltest
    - Prüfe das erste Zeichen jedes Eintrags im Array

    {if $var1 == 1}
    if $var1 == 1
    $var1 == 1

    Array:
    - $var
    - 1
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Gut, so müsste es eigt. klappen. Aber wie stelle ich nun das if bzw mehrere frei? Wenn's offensichtlich sein sollte entschuldige ich mich für die dumme Frage

      Kommentar


      • #4
        Wenn du {if $var1 == 1} gefunden hast,weißt du doch, dass es mit {if anfängt und kannst die ersten vier Zeichen und das letzte Zeichen wegschmeißen. substr könnte hier helfen oder ein weiterer regulärer Ausdruck
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Klar, aber dann muss ich ja trotz alledem das if irgendwie rausschneiden, das bereitet mir momentan die Probleme

          Kommentar


          • #6
            Wie machst du's denn sonst?

            Ob du nach {$variable} suchst oder nach {if.?*} ist doch egal, oder?
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar

            Lädt...
            X