preg_replace $var ersetzen durch ...
Andavos
- php
0 Tobias Kloth0 Andavos0 wahsaga0 Andavos
0 Tobias Kloth0 Andavos0 Tobias Kloth0 Andavos
0 Till0 lulu
Hallo,
Also in einem Text möchte ich alle $var durch 123 ersetzen.
Bisher habe ich folgenden Code
$template = "$var";
$template = preg_replace("/$var/si", "123", $template);
echo $template;
Ich weiß zwar, das dies mit eval geht, aber ich möchte das mit preg machen, weil ich es für ein Template Enigne brauche.
MFG
Andavos
Hallo Andavos,
$template = "$var";
enn du einfache statt doppelte Anführungszeichen verwendest, kannst du dir das Maskieren des Dollarzeichens sparen.
$template = preg_replace("/$var/si", "123", $template);
du möchtest den String '$var' durch den String '123' ersetzten, oder? Reguläre Ausdrücke brauchst du dafür nicht (außer du willst auch '$VAR', '$Var', '$VaR' usw. durch '123' ersetzten):
$template = str_replace('$var','123',$template);
oder meinst du was ganz anderes?
echo $template;
was gibt das aus?
Grüße aus Nürnberg
Tobias
Hallo,
also das ganze muss schon mit preg_replace gemacht werden :(
Also er lädt eine Datei.
In der Datei sind dann Variablen, z.B. $var
Diese Variablen (z.B. $var) soll er dann durch bestimmte Werte ersetzen.
MFG
Andavos
hi,
also das ganze muss schon mit preg_replace gemacht werden
, weil ...
gruss,
wahsaga
Hallo,
weil ...
Also er lädt eine Datei.
In der Datei sind dann Variablen, z.B. $var
Diese Variablen (z.B. $var) soll er dann durch bestimmte Werte ersetzen.
MFG
Andavos
Hallo Andavos,
Also er lädt eine Datei.
Wer läd die Datei? Und wie wird die Datei geladen (fread? readfile? include/require?)?
In der Datei sind dann Variablen, z.B. $var
Diese Variablen (z.B. $var) soll er dann durch bestimmte Werte ersetzen.
ich weiß nicht so ganz, was du eigentlich machen willst. Kannst du das ganze mal anhand eines Beispiels bzw. etwas Code erläutern?
Grüße aus Nürnberg
Tobias
Hallo,
also er liest eine Datei (wie weiß ich noch nicht, aber nicht per include oder so)
Die Datei sieht dann so aus:
Ich habe $anzahl Socken und $anzahl2 Hosen
Der PHP-Code sieht am anfang so aus:
$anzahl = 6;
$anzahl2 = 2;
...
echo $text;
Danach soll er den String durchsuchen und alle Variablen durch den Wert der Variablen aus dem PHP-Code ersetzen.
Also soll aus $anzahl 6 werden und $anzahl2 2
Ausgabe:
Ich habe 6 Socken und 2 Hosen
MFG
Andavos
Hallo Andavos,
Der PHP-Code sieht am anfang so aus:
$anzahl = 6;
$anzahl2 = 2;
wo steht der php-Code? In der Datei die den Code ausführen soll?
dann ist das ganze eigentlich relativ einfach:
erst den Text aus der Datei in einen String einlesen (z.B. mit fread) und dann mit str_replace den Inhalt ersetzen:
$text = str_replace('$anzahl',$anzahl,$inhaltausdatei);
(und das eben für jede Variable)
Wo da jetzt eigentlich genau das Problem liegt, weiß ich aber nicht - vielleicht habe ich aber auch was falsch verstanden?
Grüße aus Nürnberg
Tobias
Hallo,
das problem liegt da, das ich nicht "weiß", welche Variablen in der Datei ist. Also er soll alle $variablen aus der Datei ersetzen, durch werte, die im PHP Code gespeichert sind
MFG
Andavos
http://php.net/str-replace ?
mfg Till
Huhu Andavos
$template = preg_replace("/$var/si", "123", $template);
benutze einfach Anführungen denn sonst musst Du statt einem
"/$var/si"
sogar drei backslashes schreiben
"/\$var/si"
das macht die Sache nicht wirklich übersichtlicher.
Viele Grüße
lulu