[PHP] Strings für BBCode

Dieses Thema im Forum "Webentwicklung" wurde erstellt von ronny130286, 28. September 2009 .

Schlagworte:
  1. 28. September 2009
    Strings für BBCode

    Hallo

    ich will mir einen php datein programmieren die mir den BBcode umsetzt (für Gästebucher etc)

    nun habe ich das Problem das ich die "\n" aus der mysql datenbank du einen <br> ersetzen lasse
    wenn ich nun den bbcode [code ] [/ code] verwende schreibt er mir aber auch überalle einen <br> davor (ist mir auch klar wieso) aber wie kann ich das machen das er mir dort den <br> nicht anzeigt?


    mein bisheriger Code meiner bbcode.php
    Code:
    <?php
    function unhtmlentities($str) {
     $str = str_replace('&lt;','<', $str );
     $str = str_replace('&gt;','>', $str );
     $str = str_replace('<br>','\n', $str);
     return $str;
    }
    function bbcode($str)
    {
     # HTML Zeichen maskieren
     $str = htmlentities($str);
    
     # Smilies
     $str = str_replace(':)', '<img src="images/smilies/smile.gif" alt=":)"/>', $str);
     $str = str_replace(':lol:', '<img src="images/smilies/lol.gif" alt=":lol:"/>', $str);
     $str = str_replace(':cool:', '<img src="images/smilies/cool.gif" alt=":cool:"/>', $str);
     $str = str_replace(':thumb:', '<img src="images/smilies/mr_green.gif"alt=":thumb:" />', $str);
     $str = str_replace(':eek:', '<img src="images/smilies/eek.gif" alt=":eek:"/>', $str);
    
     # Formatierungen
     $str = preg_replace('#\[b\](.*)\[/b\]#isU', "<b>$1</b>", $str);
     $str = preg_replace('#\[i\](.*)\[/i\]#isU', "<i>$1</i>", $str);
     $str = preg_replace('#\[u\](.*)\[/u\]#isU', "<u>$1</u>", $str);
     $str = preg_replace('#\[hr\](.*)#isU', "<hr>", $str);
     $str = preg_replace('#\[center\](.*)\[/center\]#isU', "<center>$1</center>", $str);
     $str = preg_replace('#\[left\](.*)\[/left\]#isU', "<div align=left>$1</div>", $str);
     $str = preg_replace('#\[right\](.*)\[/right\]#isU', "<div align=right>$1</div>", $str);
     $str = preg_replace('#\[p\](.*)\[/p\]#isU', "<p>$1</p>", $str);
     $str = preg_replace('#\[qoute\](.*)\[/qoute\]#isU', "<table width=100%><tr><td bgcolor=#999999><b>Zitat:</b><br><font class=quote>$1</font></td></tr></table>", $str);
     $str = preg_replace('#\[color=(.*)\](.*)\[/color\]#isU', "<span style=\"color: $1\">$2</span>", $str);
     $str = preg_replace('#\[size=(8|10|12)\](.*)\[/size\]#isU', "<span style=\"font-size: $1 pt\">$2</span>", $str);
     
    
     # Links
     $str = preg_replace('#\[url\](.*)\[/url\]#isU', "<a href=\"$1\">$1</a>", $str);
     $str = preg_replace('#\[url=(.*)\](.*)\[/url\]#isU', "<a href=\"$1\">$2</a>", $str);
    
     # Grafiken
     $str = preg_replace('#\[img\](.*)\[/img\]#isU', "<img src=\"$1\" alt=\"$1\" />", $str);
    
     # Zitate
     $str = preg_replace('#\[quote\](.*)\[/quote\]#isU', "<div class=\"zitat\">$1</div>", $str);
     
     # Quelltext
     $str = preg_replace('#\[code\](.*)\[/code\]#isU', "<font class=forumsmall>Code:</font><br><textarea readonly style='width:98%; height:200px;'>".unhtmlentities('$1')."</textarea>", $str);
     
     # Listen
     $str = preg_replace('#\[list\](.*)\[/list\]#isU', "<ul>$1</ul>", $str);
     $str = preg_replace('#\[list=(1|a)\](.*)\[/list\]#isU', "<ol type=\"$1\">$2</ol>", $str);
     $str = preg_replace("#\[\*\](.*)\\r\\n#U", "<li>$1</li>", $str);
     
     # Enter
     $str = preg_replace('#\n#U',"<br>",$str);
     
     
     return $str;
    }
    
    ?>
    
     
  2. 28. September 2009
    AW: Strings für BBCode

    auch auf die gefahr hin, dass telefonzelle nen dummen spruch loslässt:

    bau dir eine engine aus:
    - Scanner/Tokenizer
    - Parser

    bastle selber grad an sowas ähnlichem, wenn du willst post ich den source.
     
  3. 28. September 2009
    AW: Strings für BBCode

    mh also angucken würde ich mir das ganz, schon mal
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.