Problem mit str_replace
haltich
- php
hi forum
hab schon ein bisschen gesucht, aber nix gefunden da ich auch nich weiß nach was ich wirklich suchen soll. nun aber zu meinem problem:
wenn ich folgenden code ausführe bekomme ich die ausgabe "Bananen" obwohl "mail" garnicht in $text enthalten ist.
<?php
$text ='gdf fdgbd fgdsgh dfg sdf gsdg sdf gdsf gsd fgsd gsd fg dfgs';
$text =str_replace("mail", test(),$text);
function test(){
echo 'Bananen<br>';
return 'E-Mail';
}
?>
Das blöde ist, dass ich nicht jedesmal wenn ich einen text überprüfe "Bananen" als ausgabe haben möchte. Sondern nur wenn mail enthalten ist.
Also kann man das irgendwie verhindern oder umgehen?
mfg
haltich
PS: mit preg_replace passiert das selbe
Das blöde ist, dass ich nicht jedesmal wenn ich einen text überprüfe "Bananen" als ausgabe haben möchte. Sondern nur wenn mail enthalten ist.
Also kann man das irgendwie verhindern oder umgehen?
Auch Gott hatte ein Problem mit Ursache und Wirkung.
Du darfst Bananen nur produzieren, wenn der Text keine Nullnummer ist.
mfg Beat
ok problem verstanden aber solte test() nicht nur ausgeführt werden wenn mail enthalten ist?
Hi!
ok problem verstanden aber solte test() nicht nur ausgeführt werden wenn mail enthalten ist?
Nein, es wird aber _immer_ test() aufgerufen!
An dieser Stelle :
»»»» $text =str_replace("mail", test(),$text);
wird der Rückgabewert von test() verarbeitet - so er denn vorhanden ist.
Wenn Du es anders haben möchtest stimmt die Logik in Deinem Script nicht!
off:PP
Wenn Du es anders haben möchtest stimmt die Logik in Deinem Script nicht!
genau die habe ich jetzt geändert. trotzdem vielen dank.
mfg
haltich
Hi!
Du rufst die Funktion test() auf...
> $text =str_replace("mail", test(),$text);
...welche die folgende Anweisung beinhaltet:
> echo 'Bananen<br>';
PS: mit preg_replace passiert das selbe
Klar!
off:PP