Jens Irrgang: Danke euch beiden.

Beitrag lesen

Danke euch beiden,

ich hatte sowas schonmal unter Perl benutzt, daher wunderte ich mich das es mit PHP nicht funktionieren sollte.

Dieses funktioniert prima bei mir.

Es geht mit dem e-Modifier:

$text = preg_replace('/###([^#]+)###/e',"$var['\1']",$text);

Dieses funktioniert bei mir nicht, wird mit folgender Fehlermeldung abgewiesen: Parse error: parse error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in D:\home\www\web5\html\index.php on line 30. Einzige Änderung durch mich ist $var in $erstellen. Auf der anderen Seite ist es aber auch egal, da ich ja jetzt zwei funktionierende Alternativen habe.

Alternativ kann er auch die $[1-9]-Variablen
nutzen:

$text = preg_replace('/###([^#]+)###/',$var[$1],$text);

Dieses funktioniert auch sehr gut.

$ausgabe = "Testweise ###test### ersetzen, gerne auch zweimal:
###test###";
$erstellen['test']="diese Ausgabe";

»»

foreach ($erstellen as $key=>$value)
{
$ausgabe = str_replace("###".$key."###",$value, $ausgabe);
}

Welche der beiden Methoden ist den die "schnellste" im realen Betrieb?

Danke nochmals

Jens