kostenloser Webspace werbefrei: lima-city


Smilie code in Smilie umwandeln

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    nadsche

    nadsche hat kostenlosen Webspace.

    Hallo!
    Ich bin heute wiedermal ein wenig lästig :spammer:

    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.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. ...
    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;
    ...
  4. 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
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!