Parse error bei Code
Stephan
- php
0 Thomas Luethi0 Stephan0 Achim Janowski0 Stephan
0 wahsaga0 Stephan
0 Sven Rautenberg0 small-step0 wahsaga
Hallo,
kann mir jemand sagen, wo der Fehler liegt? Parse error in line 134:
132: $inhalt = nl2br($row['eintrag']);
133:
134:$inhalt = str_replace(":(", "<img src="aerger.gif">", $inhalt);
135:$inhalt = str_replace(":-(", "<img src="aerger.gif">", $inhalt);
136:$inhalt = str_replace("*ahnung*", "<img src="ahnung.gif">", $inhalt);
usw.
Wo liegt der Fehler?
Danke schon jetzt
Stephan
Hallo,
134:$inhalt = str_replace(":(", "<img src="aerger.gif">", $inhalt);
Wo liegt der Fehler?
Bei den Anfuehrungszeichen.
Tip: " oder ' verwenden!
$inhalt = str_replace(":(", "<img src="aerger.gif">", $inhalt);
$inhalt = str_replace(":(", "<img src='aerger.gif'>", $inhalt);
Gruesse,
Thomas
Jetzt sieht meine Zeile so aus:
$inhalt = str_replace(":(", "<img src='aerger.gif'>", $inhalt);
und er sagt:
Warning: Unexpected character in input: '' (ASCII=92) state=1 in /var/www/web199/html/gb/guestbook.php on line 134
Danke schon im Vorraus
Stephan
Hallo!
Du musst nur die " bei aerger.gif durch " ersetzen, die anderen müssen bleiben.
Gruß, Achim
Klasse, Danke!
Stephan
hi,
Jetzt sieht meine Zeile so aus:
$inhalt = str_replace(":(", "<img src='aerger.gif'>", $inhalt);
nur die anführungszeichen _innerhalb_ eines strings musst du maskieren, nicht die äusseren, die den string _begrenzen_.
gruss,
wahsaga
Aha, jetzt gehts!
Moin!
Alt:
$inhalt = str_replace(":(", "<img src="aerger.gif">", $inhalt);
^--^ ^---------^ ^-^
Das unterstrichene sind die einzelnen Strings, die du mit "-Zeichen eingeklammert hast.
Neu:
$inhalt = str_replace(":(", "<img src='aerger.gif'>", $inhalt);
" ist kein richtiger Befehl, der klammert auch keine Strings ein.
Thomas sagte, _entweder_ innerhalb von Strings " schreiben, _oder_ dort ' schreiben. Oder die Stringeinrahmung statt mit " mit ' machen (dann kann man innerhalb von Strings " benutzen, aber muß ' benutzen.
Richtig:
$inhalt = str_replace(":(", "<img src='aerger.gif'>", $inhalt);
^--^ ^----------------------^
oder:
$inhalt = str_replace(":(", "<img src="aerger.gif">", $inhalt);
^--^ ^------------------------^
oder:
$inhalt = str_replace(':(', '<img src="aerger.gif">', $inhalt);
^--^ ^----------------------^
oder:
$inhalt = str_replace(':(', '<img src='aerger.gif'>', $inhalt);
^--^ ^------------------------^
Mischen bei _verschiedenen_ Strings geht natürlich auch:
$inhalt = str_replace(":(", '<img src="aerger.gif">', $inhalt);
^--^ ^----------------------^
- Sven Rautenberg
Hi,
$inhalt = str_replace(':(', '<img src='aerger.gif'>', $inhalt);
^-----------^
Das dürfte aber nicht funktionieren. Na ja, schon, aber im Quelltext steht dann wahrscheinlich <img src='aerger.gif'>, und ich denke das ist nicht erwünscht :-)
Ich halte die '<img src="aerger.gif">' methode für die sauberste. Jedenfalls wenn hier noch die fehlenden Angaben mit dazu kommen :-)
Gruß,
small-step
hi,
$inhalt = str_replace(':(', '<img src='aerger.gif'>', $inhalt);
^-----------^
Das dürfte aber nicht funktionieren. Na ja, schon, aber im Quelltext steht dann wahrscheinlich <img src='aerger.gif'>, und ich denke das ist nicht erwünscht :-)
nein, als ausgabe kommt natürlich <img src='aerger.gif'> heraus - die \ vor den ' werden bei der ausgabe eleminiert, da sie ja nur dazu dienen, _php_ den unterschied zwischen "ein anführungszeichen, welches den string begrenzt" und "ein anführungszeichen, welches als solches gemeint ist" klar zu machen.
gruss,
wahsaga