Daniel: Variabeln nicht auswerten

Habe folgendes Problem: Ich möchte einer Variable einen Wert zuweisen. Dieser Wert enthält aber wieder eine Variable($text), welche erst später definiert wird und jetzt noch nicht ausgewertet werden soll.

Bsp:
$format = "<font size='2'>$text</font>";

Später wird im Script dann die Variable $format eingebunden. Wie kann ich nun umgehen, dass die Variable $text schon beim definieren der Variable $format durch einen Wert ersetzt wird?

Funktioniert es allenfalls wenn ich $text mit "$text" definiere?:

$text="$text";

Kann dann später die Variable noch ausgewertet werden?

Hoffentlich versteht ihr was ich meine, ziemlich kompliziert diese Beschreibung...

  1. Hi, Daniel,

    Bsp:
    $format = "<font size='2'>$text</font>";

    ich habe es so verstanden, dass du einen Text hast, der einen Platzhalter beinhaltet. Der Platzhalter soll später durch einen anderen Text ersetzt werden.

    So geht es:

    $format = "<font size='2'>**Platzhalter**</font>";

    $text = "Guten Tag";
    $format = str_replace( "**Platzhalter**", $text, $format );

    Lieben Gruß aus Worms, Kalle

  2. Hallo Daniel,

    zunächst einmal fände ich -und viele andere hier- es schön, wenn alle Postings eine Grußformel enthalten würden. Ist doch netter, oder?

    Später wird im Script dann die Variable $format eingebunden. Wie kann ich nun umgehen, dass die Variable $text schon beim definieren der Variable $format durch einen Wert ersetzt wird?

    Du kannst IMHO nicht verhindern, dass die Variablen expandiert werden. Der einzige Weg, der mir einfällt, sind Platzhalter. Du könntest folgendes tun:

    $format = "<font size='2'>{MY_TEXT}</font>";

    Zum Zeitpunkt, an dem $text den richtigen Wert enthält, machst Du dann eine Substitution:

    echo preg_replace('/{MY_TEXT}/',$text,$format);

    Das ersetzt im String $format den Platzhalter {MY_TEXT} durch den Inhalt von $text. Diese Vorgehensweise hat sich bei mir immer bewährt. Hoffe es hilft Dir weiter.

    viele Grüße
      Achim Schrepfer

    --
    »Wenn die meisten sich schon armseliger Kleider und Möbel schämen, wieviel mehr sollten wir uns da erst armseliger Ideen und Weltanschauungen schämen.« - Albert Einstein