Warum diese Ausgabe?

...komplette Frage anzeigen

4 Antworten

Neben der eigentlichen Beantwortung deiner Frage noch eine kleine Anmerkung: Hast du dir eigentlich mal überlegt, was bei folgenden Eingaben rauskommen würde?

  • Ein glücklicher Smiley:(happy)
  • Google => http://www.google.de/
  • Land:Deutschland, Stadt:Oldenburg
  • Ruf mich an! (Telefon: 12345678)

Du solltest also unbedingt prüfen, ob sowohl vor, als auch nach dem Smiley, ein Leerzeichen vorhanden ist, bzw. ob der zu ersetzende Text am Ende einer Zeile steht.

Ein blindes str_replace() wird garantiert viele Eingaben durcheinander bringen.

Wie gesagt, das war nur eine Anmerkung! :)

Schönen Tag noch! :)

Antwort bewerten Vielen Dank für Deine Bewertung
CordiCraft 12.06.2016, 15:21

Das war zwar Durchaus ein sinnvoller Einwand, beantwortet jedoch meine Frage nicht =). Du schriebst "Neben der eigentlichen Beantwortung deiner Frage.". Aber meine Frage ist nirgens beantwortet???

0

Die Ausgabe kommt nicht von dem Script, das du gepostet hast. Hast du evtl. vergessen, es auf den Server hochzuladen und dort läuft noch eine frühere Version?

Antwort bewerten Vielen Dank für Deine Bewertung
CordiCraft 11.06.2016, 21:47

Wenn ich die Datei vom Server aufrufe kommt genau dieses skript, also denke ich, es ist schon so richtig ^^

0
Babelfish 11.06.2016, 22:06

Mal den Browsercache geleert? Oder schreib mal ein echo "test"; ins Script um zu sehen, ob deine Änderungen auch übernommen wurden.

0
CordiCraft 12.06.2016, 15:23
@Babelfish

Hab ich gemacht, hat funktioniert. "test" wurde ausgegeben, Smiley Ausgabe aber immernoch fehlerhaft.

0
Babelfish 12.06.2016, 17:11
@CordiCraft

Das kann ich dann auch nicht erklären. Dein Code, den du hier gekostet hast, funktioniert und kann so was nicht ausgeben.

Das hier wäre eine falsche Variante, die deine Ausgabe erklären würde:

$text = str_replace($smilekey, '<img src="img/smileys/$smiley.png">', $text);

Aber wenn du sagst, dann es bei dir nicht so drin steht, kann ich dir leider auch nicht weiterhelfen.

0

Also bei mir funktioniert dein Skript wie erwartet. Den foreach-loop brauchst du aber gar nicht so wie ich das sehe:

$text = ":D";

echo '<img src="img/smileys/'.$smileys[$text].'.png">';

Ausgabe:

<img src="img/smileys/happy.png">
Antwort bewerten Vielen Dank für Deine Bewertung
CordiCraft 11.06.2016, 20:36

Doch brauche ich, da der text wenn das Skript in Aktion tritt der Inhalt der $text nicht nur der Smiley ist und nur die Smileys ersetzt werden sollen.

0

Lass mal die Punkte vor dem $ Zeichen und hinter dem y weg.

Antwort bewerten Vielen Dank für Deine Bewertung
CordiCraft 11.06.2016, 20:22

Dann ist das Skript ganz kaputt.

0
Harvix 11.06.2016, 20:35
@CordiCraft

Hm also bei mir funktioniert dein Skript, wohlgemerkt mit den Punkten. Welche Version von PHP verwendest du denn?

0

Was möchtest Du wissen?