Morpheus: Textarea Umbruch ok aber Smilies ...

Hallo an alle,

ich habe folgendes Problem.
Ein Formularfeld *Textarea* wird nach *90* Zeichen mir wordwrap ()
umgebrochen. Soweit funzt das ja auch, nur wenn ich Smilies einfüge und der Quelltext *<img usw. nohohdmf lk> mittendrin unterbrochen wird wird der Smilie leider nicht angezeigt und der Quelltext des eigentlichen Smilies als Text interpretiert!
Wie kann ich den das unterbinden?

Thx Morpheus

  1. hi,

    Ein Formularfeld *Textarea* wird nach *90* Zeichen mir wordwrap ()
    umgebrochen. Soweit funzt das ja auch, nur wenn ich Smilies einfüge und der Quelltext *<img usw. nohohdmf lk> mittendrin unterbrochen wird wird der Smilie leider nicht angezeigt und der Quelltext des eigentlichen Smilies als Text interpretiert!

    breche den text um, _bevor_ du die "smilies" durch grafiken ersetzt.

    gruss,
    wahsaga

    --
    http://wazgnuks.net/ - back from the dead
    1. breche den text um, bevor du die "smilies" durch grafiken ersetzt.

      gruss, wahsaga

      Ja danke das wars. Nur dummerweise habe ich den str_replace () Funktion als include Befehl an der Stelle nach dem Umbruch der Zeile. Als include funzt das nicht aber die Funktion direkt geht. Komisch ...

      hier mal ein Auszug aus dem Quellcode

      die eintragen.php


      <html> <head> <title></title>

      <?php  include ("bbcode-smilies.inc.php"); ?>

      <script src="js/function.js" type="text/javascript"></script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- @import url("css/eintragen.css"); --> </style> </head> <body bgcolor="#333333"> <form action="eintragen.php" name="neuerGBEintrag" onSubmit="return CheckEingaben ();"> <div align="center">     <table width="700" cellspacing="3" bgcolor="#CCCCCC">       <tr>         <td> </td>         <td colspan="2"><input name="senden" type="hidden"><input name="eintragen" type="submit" value="ins Gästebuch eintragen"></td>       </tr>       <tr>         <td class="insert"><div align="center">deine Ip-Adresse</div></td>         <td colspan="2"><input type="text" name="ip" readonly="" value="<?php echo $REMOTE_ADDR ?>"></td>       </tr>       <tr>         <td class="insert"><div align="center">Name*</div></td>         <td colspan="2"><input name="name" type="text" value="" size="30" maxlength="30"></td>       </tr>       <tr>         <td class="insert"><div align="center">eMail*</div></td>         <td colspan="2"><input name="eMail" type="text" value="dtrmorpheus@web.de" size="40" maxlength="50"></td>       </tr>       <tr>         <td class="insert"><div align="center">www</div></td>         <td colspan="2"><input name="www" type="text" id="www" value="http://" size="35" maxlength="50"></td>       </tr>       <tr>         <td valign="top" class="insert"><div align="center">dein Eintrag*<br>             html/php<font color="#FF0000"> <strong>nicht</strong> </font>erlaubt</div></td>         <td width="379"> <textarea name="kommentar" cols="90" rows="12" wrap="soft"></textarea>         </td>         <td width="204" valign="top"> <table border="0" cellpadding="5" cellspacing="0" bordercolor="#CCCCCC">             <tr>               <td>BB-Code</td>             </tr>             <tr>               <td><input type="button" name="fett" value="Fett" onClick="javascript:bbcode('[b] fetter Text [/b]');">                 <input type="button" name="kursiv" value="Kursiv" onClick="javascript:bbcode('[i] kursiver Text [/i]');">                 <input type="button" name="unterstrichen" value="Unterstrichen" onClick="javascript:bbcode('[u] unterstrichener Text [/u]');">               </td>             </tr>           </table></td>       </tr>       <tr>         <td colspan="4"><table border="1" bordercolor="#CCCCCC">             <tr bordercolor="#000000" bgcolor="#FFFFFF">               <td width="80" class="insert"> <div align="center"><a href="javascript:smiliespopup();" title="alle Smilies anzeigen">Smilies</a></div></td>               <td width="80" class="insert"> <div align="center"><a href="javascript:farbenpopup();" title="Farbtabelle anzeigen">Farbtabelle</a></div></td>             </tr>           </table></td>       </tr>     </table> </div> </form> <?php     if (isset($senden))  {   //################### Variablen definieren ##################################      $aktDatum = date ("d.m.Y");   $aktZeit = date ("H:i");   //################### html und php Tags entfernen ###########################   $erlaubteTags = '<a><img><font><b><strong><i><u>,</a></img></font></b></strong></i></u>';   $name = strip_tags ($name);   $eMail = strip_tags ($eMail);   $www = strip_tags ($www);   $kommentar = strip_tags ($kommentar, $erlaubteTags);   $kommentar = wordwrap ($kommentar, 90, "<br>");   include ("bbcode-smilies.inc.php");   $kommentar = str_replace(':|','<img src="smilies/hmmm.gif">',$kommentar);   $kommentar = str_replace(';/','<img src="smilies/happy.gif">',$kommentar);   $kommentar = str_replace('8|','<img src="smilies/unsure.gif">',$kommentar);   $kommentar = str_replace('1/','<img src="smilies/dry.gif">',$kommentar);   $kommentar = str_replace('8)','<img src="smilies/rolleyes.gif">',$kommentar);   $kommentar = str_replace(':ph34r:','<img src="smilies/ph34r.gif">',$kommentar);   $kommentar = str_replace(':wacko:','<img src="smilies/wacko.gif">',$kommentar);   $kommentar = str_replace(':(','<img src="smilies/sad.gif">',$kommentar);   $kommentar = str_replace(':D','<img src="smilies/biggrin.gif">',$kommentar);   $kommentar = str_replace(':!','<img src="smilies/mad.gif">',$kommentar);   $kommentar = str_replace(':wink:','<img src="smilies/wink.gif">',$kommentar);   $kommentar = str_replace(':w8t:','<img src="smilies/w00t.gif">',$kommentar);   $kommentar = str_replace(':angry:','<img src="smilies/angry.gif">',$kommentar);   $kommentar = str_replace(':blink:','<img src="smilies/blink.gif">',$kommentar);   $kommentar = str_replace('-|','<img src="smilies/mellow.gif">',$kommentar);   $kommentar = str_replace(':P','<img src="smilies/tongue.gif">',$kommentar);   $kommentar = str_replace(':)','<img src="smilies/smile.gif">',$kommentar);   $kommentar = str_replace(':crying:','<img src="smilies/crying.gif">',$kommentar);   $kommentar = str_replace(':blush:','<img src="smilies/blush.gif">',$kommentar);   $kommentar = str_replace('O|','<img src="smilies/ohmy.gif">',$kommentar);   $kommentar = str_replace(':laugh:','<img src="smilies/laugh.gif">',$kommentar);   $kommentar = str_replace(':sleep:','<img src="smilies/sleep.gif">',$kommentar);   $kommentar = str_replace(':huh:','<img src="smilies/huh.gif">',$kommentar);   $kommentar = str_replace(':closed:','<img src="smilies/closedeyes.gif">',$kommentar);   $kommentar = str_replace(':cool:','<img src="smilies/cool.gif">',$kommentar);   //################### Ä,Ö,Ü,ß,ä,ü,ö umwandeln ###############################   $äüöß = array ("ä","ü","ö","ß","Ä","Ü","Ö");   $äüößneu = array ("ä","ü","ö","ß","&Auml;","&Uuml;","&Ouml;");   for ($x = 0; $x < 7; $x++)   {    $name = str_replace ($äüöß[$x],$äüößneu[$x],$name);    $eMail = str_replace ($äüöß[$x],$äüößneu[$x],$eMail);    $www = str_replace ($äüöß[$x],$äüößneu[$x],$www);    $kommentar = str_replace ($äüöß[$x],$äüößneu[$x],$kommentar);   }   //################### Daten zum schreiben vorbereiten #######################   $daten = array("$name","$eMail","$www","$ip","$aktZeit","$aktDatum","$kommentar");   $daten = $daten[0].$daten[1].$daten[2].$daten[3].$daten[4].$daten[5].$daten[6];   $fp = "data/gb_eintraege.dat";   $openFile = fopen ($fp, "a+");   //################### Daten schreiben ########################################   fwrite ($openFile, $daten . "\n");   fclose ($openFile);

      echo "<meta http-equiv="refresh" content="0; URL=danke.php">";  }   $fp = "data/gb_eintraege.dat";   $count = file($fp);   for($x = 0; $x < count ($count); $x++)   {    echo '<div align="center">'.$count[$x].'</div>';    echo "<br>";   } ?> </body> </html>


      hier die includete Datei


      <?php

      $kommentar = eregi_replace('[b]','<b>',$kommentar);  $kommentar = eregi_replace('[/b]','</b>',$kommentar);  $kommentar = eregi_replace('[u]','<u>',$kommentar);  $kommentar = eregi_replace('[/u]','</u>',$kommentar);  $kommentar = eregi_replace('[i]','<i>',$kommentar);  $kommentar = eregi_replace('[/i]','</i>',$kommentar);  $kommentar = preg_replace("!([_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+.)+([a-zA-Z]{2,3}))!", "<a href="mailto:\1">\1</a>", $kommentar);  $kommentar = preg_replace("=(^|\ |\n)(http://|http://www.)([a-zA-Z0-9./-_]{1,})=i", "\1<a href="\2\3" target="_blank">\2\3</a> ",$kommentar);  $kommentar = preg_replace("=(^|\ |\n)(www.)([a-zA-Z0-9./-_]{1,})=i", "\1<a href="http://\2\3" target="_blank">\2\3</a>", $kommentar);

      $kommentar = eregi_replace('[farbe=CCFFFF]','<font color="#CCFFFF">',$kommentar);

      hier stehen noch 215 Farben mehr!

      ?>

      falls das mal einer probieren möchte kann er unter

      http://dtrmemberarea.de/eintragen.php

      gern ausprobieren, und seine Tipps und Hinweise abgeben. Zur Info mein Gästebuch ist nicht fertig!

      1. hi,

        Nur dummerweise habe ich den str_replace () Funktion als include Befehl an der Stelle nach dem Umbruch der Zeile.
        Als include funzt das nicht aber die Funktion direkt geht.

        das ist als fehlerbeschreibung mehr als mangelhaft.

        hier mal ein Auszug aus dem Quellcode

        nein, dass alles durchzusehen, da habe ich nun wirklich keine lust drauf.
        beschreibe ggf. dein problem genauer, und schau vor dem erneuten nachfragen erst noch mal selber nach, _was_ dein script jetzt _wann_ macht, ob die reihenfolge text umbrechen/ smilies ersetzen wirklich stimmt, etc.

        gruss,
        wahsaga

        --
        http://wazgnuks.net/ - back from the dead