Smileys im Gästebuch und im Forum

Aurora

Mitglied
Hallo!

In der Ausbildung fangen wir nun gerade mit PHP an und programmieren gerade ein Gästebuch. Funzt auch alles soweit. Doch wir würden gerne die Funktion einfügen, dass man Smileys in den Text setzen kann. Wie würde das in etwa aussehen? Was muss man dort hinzufügen, damit das geht?
 
hallo!

grade vor 2 wochen haben wir auch ein gb programmiert in php in der informatikschule (ich kann php aber schon seit 2 jahren), und der lehrer schmunzelte und sagte, in der anderen klasse sei die erste frage gewesen, wie man smileys durch bilder ersetzen könnte.
biggrin.gif
SORGEN habt ihr php lehrlinge...
tongue.gif


also, dazu kannst du die funktion str_replace() verwenden:

<?php

$newGbEintrag = str_replace(":)","<img src='bilder-ordner/smiley.jpg'>",$gbEintrag);
echo $newGbEintrag;

?>

das gäbe den inhalt von $gbEintrag aus, in welchem alle vorkommenden ":)" durch "<img src=''...>" ersetzt sind.

syntax:

str_replace("zu suchende zeichenkette","ersetze sie hiermit","und zwar in diesem text hier");

hoffe das hilft.
smile.gif


gruss
j0sh

ps: wenn du deinen lehrer verblüffen willst, dann benutze folgende kleine funktion, welche du ganz einfach erweitern kannst mit weiteren smileys:

<?php

function replaceStuff($x)
{
$stuff = array(
"<" => "<",
">" => ">",

"ä" => "ä",
"ö" => "ö",
"ü" => "ü",
":D" => "<img src='pics/biggrin.gif'>",
";)" => "<img src='pics/wink.gif'>",
":)" => "<img src='pics/smile.gif'>",
":p" => "<img src='pics/tongue.gif'>",
":(" => "<img src='pics/sad.gif'>",
);

foreach($stuff as $temp=>$key)
{
$x = str_replace($temp,$key,$x);
}

return($x);
}

?>

$x ist der gb-text, also kannst du einfach

echo replaceStuff($gbEntry);

machen.
smile.gif
 
Du bist ja lustig
biggrin.gif

Da gibts schon so einiges, was beachtet werden muss:
blink.gif


1. brauchst Du eine Handvoll Smileys. Die gibts z.B. hier:
http://www.gifs-clipart-smiley.de/

2. Musst Du überlegen, wie der User die Smileys in seinen Gästebuch-Eintrag reinkriegt. Soll man die Dinger einfach anklicken können? Soll man sie mit Radio-Button und Schaltfläche einfügen? Oder soll man sie mit einem Kürzel (z.B. ": - )") einfügen können?

3. Wie wird das gespeichert und angezeigt. Letztendlich brauchts zur Anzeige HTML-Code (z.B. "<IMG SRC=Imgs/Smilies/S15.gif>"). Damit nun ein User nicht mit HTML allen möglichen Unsinn im Gästebuch anstellen kann, musst Du Dir also überlegen, wie Du den, für die Smileys notwendigen HTML-Code zum speichern umwandeln kannst. Bei der Anzeige muss das dann natürlich entsprechend zurückgewandelt werden.

4. Wenn die Eingabe per Kürzel möglich sein soll, muss das PHP-Script eine Rotine enthalten, die das Kürzel (Emoticon) in brauchbaren HTML-Code verwandelt. Und natürlich muss das dann auch zum speichern umgewandelt werden. Siehe oben

Hier nun mein Rat, sauge Dir ein paar fertige Gästebücher und studiere den Code. Da gibts z.B. dasjenige von Artmedic:
http://www.artmedic-webdesign.de/scripts/a...c_guestbook.php

Dann gabs noch eines von Manuel Nussbaumer, das hiess Powerbook 2.2. Man konnte das saugen bei:
http://www.power-scripts.de/
Aber der Server scheint derzeit down zu sein.

Aber Du kannst Dir auch zuhauf Gästebücher ergoogeln. Es gibt viele, die deutsch dokumentiert sind.

Viel Spass
wink.gif
 
also übertreiben muss mans ja nicht grad, hamlet. immerhin ist er ein php-anfänger.
smile.gif

und das studieren anderer scripts ist manchmal gar nicht so gescheit. ich hab mir schon manchen bock abgekuckt, wo ich später sagen musste, dass das ja total falsch gelöst wurde. wenn anfänger von nicht-mehr-ganz-anfänger lernt, kommt das halt nicht immer gut.
wink.gif
 
QUOTE
ich hab mir schon manchen bock abgekuckt, ...

biggrin.gif
Man nennt das "learnig by doing" und schliesslich hat Aurora in der Schule sicher auch einen Lehrer, der dann schon die richtige Richtung weist.


QUOTE
also übertreiben muss mans ja nicht grad

unsure.gif
Weiss jetzt nicht, wo ich übertrieben haben soll. Ich meine, das Unterbinden von HTML-Code erachte ich als zwingend. Stell Dir mal vor, Du baust in die Page eines örtlichen Kindergarten-Vereins ein Gästebuch ein und irgend ein lustiger Adult-Webmaster kommt und postet seine XXX-Banner. Das kanns ja nicht sein, oder?

Aber ich gebe Dir natürlich dahingehend recht, dass das schon eher weiterführende Überlegungen sind. Möglicherweise habe ich da die Frage ein wenig falsch interpretiert.

(Und gleich noch n Smiley:
biggrin.gif
)
 
natürlich hast du recht, dass man solche witzbolde verhindern muss. aber bei diesem php kurs gehts erst mal darum, php zu verstehen, und nicht das neue phpBB zu proggen.
smile.gif
 
Also erst einmal vielen Dank. Werd mir alles in Ruhe anschauen und dann sehen, wie ich es hinbekomme

bye bye Aurora
 
Ich würde mich auch gleich angewöhnen wenn möglich ' statt " zu verwenden. Das bringt zwar nur wenig Performance mehr, aber wie immer summiert sich das.

Also $a='<img src="pics/biggrin.gif">'; statt $a="<img src='pics/biggrin.gif'>";
 
Bei " kann man auch Variablen reingeben Bsp.: echo "$test";
Da dann natürlich kontrolliert wird ob der Inhalt Variablen enthält dauert die Ausführung des Skripts länger (Speicher wird glaub ich auch leicht mehr gebraucht).
Besser ist als z.B. echo 'Mein Name ist '.$name;

Viel bringt das aber eh nicht.
 
Zurück
Oben