Smilie code in Smilie umwandeln
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ahnung
aufgabenstellung
ausgabe
break
code
datenbank
datum
entfernen
gott
grad
image
krieg
nachricht
re
switch
text
treffer
verwenden
vorkommen
wiedermal
-
Hallo!
Ich bin heute wiedermal ein wenig lästig
Ich bastel ja ref="/tag/grad">grade an einer Shoutbox. Und da sollen ein paar smilies drin vorkommen.
Hier ist mein smilie und es Funktioniert, wenn man ihn anklickt erscheint der code in der textarea "nachricht".
<td>Smilies:</td> <td><a onClick="document.shout.nachricht.value+=':-)';"><img src="smilies/1.gif"></a></td>
Die Ausgabe sieht wie folgt aus, also die daten aus der Datenbank werden in eine tabelle geschmissen.:
... while ($ds = mysql_fetch_assoc($res)) { echo '<tr><td colspan="4" title="'.$ds[date].'">'.$ds[nachricht]; ...
Und da steht dann ja anstatt des smilies (logischerweise) der code dafür. Wie krieg ich aus dem Code denn wieder einen smile? Ich hab keine Ahnung wie ich das anstellen soll, dass in der Nachricht das img angezeigt wird. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
... while ($ds = mysql_fetch_assoc($res)) { $dsi =explode(':-)', $ds[nachricht]); $i = 0; foreach($dsi as $m) { $dsf = explode(':-)', $dsi[$i]); if(isset($dsf[1])) { $dso .= $dsi[$i] . '<img src="smilie.jpg">'; } $i++; } echo '<tr><td colspan="4" title="'.$ds[date].'">'.$dso; ...
-
Ohh gott, so viel Quelltext... aber evtl. hab ich auch die Aufgabenstellung falsch verstanden...
um die Text-Smileys in Images zu erstezen könnte man eine Callback verwenden.
In etwa so:
<?php function replace_text2smile($treffer) { switch($treffer[0]) { case ';-)': $ret = '<img src="smilies/1.gif">'; break; case ':-)': $ret = '<img src="smilies/2.gif">'; break; case ':-(': $ret = '<img src="smilies/3.gif">'; break; default: $ret = $treffer[0]; // nicht gefundene Smilies als Text belassen } return $ret; } function replace_smile2text($treffer) { switch($treffer[0]) { case '<img src="smilies/1.gif">': $ret = ';-)'; break; case '<img src="smilies/2.gif">': $ret = ':-)'; break; case '<img src="smilies/3.gif">': $ret = ':-('; break; default: $ret = ''; // nicht gefundene Images entfernen } return $ret; } $src = 'Das ist ;-) mit :-) und :-( Smiley'; $html = preg_replace_callback( "/;-\)|:-\)|:-\(/i", "replace_text2smile", $src); echo $html."<br />\n"; $text = preg_replace_callback( "/<img src=\"smilies\/[0-9]+\.gif\">/i", "replace_smile2text", $html); echo $text."<br />\n"; ?>
Grüßle
Beitrag zuletzt geändert: 26.3.2009 11:40:21 von scout -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage