mit regulären ausdrücken eine bestimmte "variable" ersetzen

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

  • mit regulären ausdrücken eine bestimmte "variable" ersetzen

    Moin.

    Ich schlag mich gerade ein wenig mit regulären Ausdrücken rum.
    Ich kämpf schon den halben Mittag damit einen Ausdruck der so aussieht

    {$name} aus einem template im script dann durch die gleichnamige Variable $name zu ersetzen. Das ganze natürlich mit xbeliebig vielen Variablen.

    Sprich ich les eine Templatedatei ein und dann will ich im script die {$name} "Tags" durch die gleichnamige Variable ersetzen ohne für jeden Variabelnamen einen eigenen Ausdruck erstellen zu müssen.

    Sonst wärs ja einfach.

    Wenn man sich damit auskennt ist es vermutlich ganz einfach, aber ich bekomme das irgendwie noch nicht gebacken.

    Gruß Sono

  • #2
    $erg = preg_replace('/\\{\\$([^}]*)/', '\\1', $text);

    Kommentar


    • #3
      Hi.

      Danke für die Schnelle Antwort.

      Zuerst dachte ich das wäre schon die Lösung, aber leider wars das noch nicht ganz:

      PHP-Code:
      $string 'Ich {$var1} nur {$var2} ';
      $var1 "teste";
      $var2 "was";

      echo  
      preg_replace('/\\{\\$([^}]*)\\}/''\\1'$string); 
      Ich hätte gerne dass hier : "Ich teste nur was" steht.
      Dastehen tut am ende aber: Ich var1 nur var2.

      Ich könnte dass zwar vorher mit eval() in phpcode umbauen, aber eigentlich wollte ich eval() aus sicherheitsbedenken nicht verwenden.

      PHP-Code:
      $string 'Ich {$var1} nur {$var2} ';
      $var1 "teste";
      $var2 "was";

      eval (
      "\$string = \"$string\";");

      echo  
      preg_replace('/\\{\\$([^}]*)\\}/''\\1'$string); 
      Geht zwar, aber ich denke dass ich mir da ein böse lücke einbaue sobald ich strings aus Datenbank, also Benutzereingaben so behandel.

      Gruß Sono
      Zuletzt geändert von sono; 09.02.2006, 17:52.

      Kommentar


      • #4
        *edit*
        Sinnfrei

        Ich würde dir empfehlen hier mal nach Template-Klassen zu suchen. Einige sind glaube ich genau so aufgebaut.
        Zuletzt geändert von sagg; 09.02.2006, 19:21.
        mfg - sagg

        Kommentar

        Lädt...
        X