tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
588
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Rios Rios ist offline Mitglied Gold
    Registriert seit
    Dec 2001
    Ort
    München
    Beiträge
    224
    Also hoffentlich könnt ihr mir helfen.
    Hab folgende 2 Funktionen:

    PHP-Code:
    function smilies($posting)
    {
    $posting=str_replace(":grr:","<image src='images/angryfire.gif' border='0'>",$posting);
    $posting=str_replace(":cool:","<image src='images/cool.gif' border='0'>",$posting);
    $posting=str_replace(":mhh:","<image src='images/duarmer.gif' border='0'>",$posting);
    $posting=str_replace(":lol:","<image src='images/lol.gif' border='0'>",$posting);
    return 
    $posting;
    }



    function 
    format_message($post) {

       

       
    $postaddslashes($post);
       
    $poststripslashes($post);
       
    $posthtmlspecialchars($post);
       
    $posttrim($post);


       
    // URLS in HRC umwandeln:
       
    $post=eregi_replace("([ \r\n])[url]http://[/url]([^ ,\r\n]*)","\\1[url]http://\\2[/url]",$post);
       
    $post=eregi_replace("([ \r\n])[url]https://[/url]([^ ,\r\n]*)","\\1[url]https://\\2[/url]",$post);
       
    $post=eregi_replace("([ \r\n])[url]ftp://[/url]([^ ,\r\n]*)","\\1[url]ftp://\\2[/url]",$post);
       
    $post=eregi_replace("([ \r\n])www\\.([^ ,\r\n]*)","\\1[url]http://www.\\2[/url]",$post);

       
    $post=eregi_replace("^[url]http://[/url]([^ ,\r\n]*)","[url]http://\\1[/url]",$post);
       
    $post=eregi_replace("^[url]https://[/url]([^ ,\r\n]*)","[url]https://\\1[/url]",$post);
       
    $post=eregi_replace("^[url]ftp://[/url]([^ ,\r\n]*)","[url]ftp://\\1[/url]",$post);
       
    $post=eregi_replace("^www\\.([^ ,\r\n]*)","[url]http://www.\\1[/url]",$post);


       
    // ######### HRC Codes:
       
    $post str_replace("[hr]","<hr>",$post);

       
    $post=preg_replace("/\[b\](.*)\[\/b\]/iUms","<b>\\1</b>",$post);

       
    $post=preg_replace("/\[i\](.*)\[\/i\]/iUms","<i>\\1</i>",$post);

       
    $post=preg_replace("/\[s\](.*)\[\/s\]/iUms","<strike>\\1</strike>",$post);

       
    $post=preg_replace("/\[u\](.*)\[\/u\]/iUms","<u>\\1</u>",$post);

       
    //email link
       
    $post=preg_replace("/\[email\](.*)\[\/email\]/msiU""<a href=\"mailto:\\1\">\\1</a>"$post);

       
    // [URL]
       
    $post=preg_replace("/\[url\]www.(.*)\[\/url\]/iUms","<a href=\"http://www.\\1\" target=_blank>[url]http://www.\\1[/url]</a>",$post);
       
    $post=preg_replace("/\[url\](.*)\[\/url\]/iUms","<a href=\"\\1\" target=_blank>\\1</a>",$post);

       
    // [URL=
       
    $post=preg_replace("/\[url=(.*)\](.*)\[\/url\]/iUms","<a href=\"\\1\" target=_blank>\\2</a>",$post);

       
    //code ausrichtung
       
    $post=preg_replace("/\[code\](.*)\[\/code\]/msiU""<blockquote><pre><smallfont>code:<hr>\\1<hr></blockquote></pre></smallfont>"$post);

       
    //quote ausrichtung
       
    $post=preg_replace("/\[quote\](.*)\[\/quote\]/msiU""<blockquote><smallfont>quote:<hr>\\1<hr></blockquote></smallfont>"$post);

       
    //pic anzeigen
       
    $post=preg_replace("/\[img\](.*)\[\/img\]/iUms","<center><img src=\"\\1\" alt=\"bild\"></center>",$post);

       
    // Farbiger Text
       
    $post=preg_replace("/\[green\](.*)\[\/green\]/iUms","<span style=\"color:green\">\\1</span>",$post);
       
    $post=preg_replace("/\[red\](.*)\[\/red\]/iUms","<span style=\"color:red\">\\1</span>",$post);
       
    $post=preg_replace("/\[blue\](.*)\[\/blue\]/iUms","<span style=\"color:blue\">\\1</span>",$post);
       
    $post=preg_replace("/\[white\](.*)\[\/white\]/iUms","<span style=\"color:white\">\\1</span>",$post);

       
    // sub, sup
       
    $post=preg_replace("/\[sub\](.*)\[\/sub\]/iUms","<sub>\\1</sub>",$post);
       
    $post=preg_replace("/\[sup\](.*)\[\/sup\]/iUms","<sup>\\1</sup>",$post);

       
    // ########## Ende HRC Codes

       
    $postnl2br($post);
       return 
    $post;

    wenn ich jetzt vor dem query zum eintrag ins gb folgendes mache:
    $_POST['message']=smilies($_POST['message']); //in $_POST['message'] steht der gb eintrag drin
    $_POST['message']=format_message($_POST['message']);
    dann geht der insert query nicht.

    Die funktionen funktionieren aber. Wenn ich z.b.
    $test=":grr:";
    $test=smilies($test);
    echo $test;

    bzw
    $test1="www.xyz.de";
    $test1=format_message($test1);
    echo $test1;

    zum test ausführe dann wird das korrekt umgewandelt, nur in die datenbank eintragen will er das nicht. Woran könnte das liegen?
     

  2. #2
    Avatar von Sebastian Wramba
    Sebastian Wramba Sebastian Wramba ist offline Mitglied Smaragd
    Registriert seit
    Sep 2001
    Ort
    Essen (NRW)
    Beiträge
    1.218
    vielleicht haben die sich wieder selbst ins knie geschossen und das geht bei ner query so nicht, möglich ist alles. also vor der query vielleicht mal $message = $_POST["message"]; machen, dann hast du das in einer "normalen" var
     
    <Florian> Ihr seit alles so Real Life Ruler, oder?
    <SirRobin> Lineale?

  3. #3
    Rios Rios ist offline Mitglied Gold
    Registriert seit
    Dec 2001
    Ort
    München
    Beiträge
    224
    ich hab natürlich gedacht, der fehler muss bei mir selber liegen, wie so meistens
    jetzt hab ich folgendes getestet:

    PHP-Code:
    $message="ich alter rul0r :grr: :lol: geh auf [url]www.affe.de[/url] du hure fuck u";
    $message=format_message($message);
    $message=delboeseworte($message);

    $sql="insert into test (id, message) values ('', '".$message."')";  
    $result=mysql_query($sql);

    $sql1="select * from test";
    $result1=mysql_query($sql1);
    $anzresult1=mysql_num_rows($result1);

    for (
    $i;$i<$anzresult1;$i++)
    {
    $rowresult=mysql_fetch_array($result1);

    echo 
    $rowresult['message']."<br>"
    und da geht der query und die anzeige.
    Nur in meinem gb script hauts immer noch nicht hin.
    Schaue später nochmal, muss jetzt los leider
     

  4. #4
    Avatar von Sebastian Wramba
    Sebastian Wramba Sebastian Wramba ist offline Mitglied Smaragd
    Registriert seit
    Sep 2001
    Ort
    Essen (NRW)
    Beiträge
    1.218
    ich hab natürlich gedacht, der fehler muss bei mir selber liegen, wie so meistens
    hehe, tja meistens, aber halt nicht immer =)
     
    <Florian> Ihr seit alles so Real Life Ruler, oder?
    <SirRobin> Lineale?

  5. #5
    Rios Rios ist offline Mitglied Gold
    Registriert seit
    Dec 2001
    Ort
    München
    Beiträge
    224
    also so langsam regts mich auf, vielleicht war ich ja gestern abend zu müde aber meine gästebuch ausgabe is irgendwie vogel wild, stimmt irgenwas mit der funktion nicht?
    Wenn ich die mit ner test php datei auf nen string teste funktionierts, nur bein nem datenbank eintrag gibt der manchmal zb solchen html code aus:

    hi ich bin ein test <image src="images//cool.gif">
    <b>hallo</b> <h3>welt</h3>
    <a href="http://www.<br>test.de"><u>http://www.test.de</u></a><br ><br>

    eigentlich hatte ich nach dem "hi" und nach dem "<img src..." ein return gesetzt, ausserdem hats den link zerschossen und den h3 tag hatte ich eigentlich mit strip_tags entfernt.
    Woran liegt das?

    PHP-Code:
    $smilies_ort "images/";

    $smilies_ubb_array = array(
        
    ":grr:","angryfire.gif",
        
    ":prost:","beer.gif",
        
    ":confused:","confused.gif",
        
    ":cool:","cool.gif",
        
    ":dj:","dj.gif",
        
    ":mhh:","duarmer.gif",
        
    ":crazy:","durchgedreht.gif",
        
    ":king:","king.gif",
        
    ":kippe:","kippe.gif",
        
    ":hehe:","lach.gif",
        
    ":lol:","lol.gif",
        
    ":mad:","mad.gif",
        
    ":talk:","talk.gif",
        
    ";)","zwinker.gif",
        
    ":)",").gif",

        );

    function 
    format_message_hb($post)
    {
          global 
    $smilies_ubb_array$smilies_ort;
       
    $postaddslashes($post);
       
    $poststripslashes($post);
       
    //$post= htmlspecialchars($post);
       
    $posttrim($post);


    //Smileys:
       
    $smilie_rep_count 0;
       while(
    $smilies_ubb_array[$smilie_rep_count]!="")
       {
           
    $smilie_rep_count2 $smilie_rep_count 1;
           
    $post str_replace("$smilies_ubb_array[$smilie_rep_count]","<image src=\"$smilies_ort/$smilies_ubb_array[$smilie_rep_count2]\">",$post);
           
    $smilie_rep_count+=2;
       }
       
    //urls
    $pattern '#(^|[^\"=]{1})([url]http://[/url]|[url]ftp://[/url]|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
      return 
    preg_replace($pattern,"\\1<a href=\"\\2\\3\"><u>\\2\\3</u></a>\\4",$post);
     
      
    $postnl2br($post); //umbrüche
      
    $post=strip_tags($post,'<b><br>'); //html tags 
       
        
    return $post;

     

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 22.08.08, 16:43
  2. Antworten: 6
    Letzter Beitrag: 07.05.08, 15:57
  3. Antworten: 14
    Letzter Beitrag: 20.04.07, 22:19
  4. Antworten: 6
    Letzter Beitrag: 17.06.06, 10:38
  5. Antworten: 3
    Letzter Beitrag: 09.07.03, 02:22