#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('<','<', $str ); $str = str_replace('>','>', $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; } ?> + Multi-Zitat Zitieren
#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. + Multi-Zitat Zitieren
#3 28. September 2009 AW: Strings für BBCode mh also angucken würde ich mir das ganz, schon mal + Multi-Zitat Zitieren