Themen auf externen Seiten -> BB-Code darstellen - Sternachen - 11.10.2010
Hallo,
ich habe jetzt ca. 2h das Forum durchsucht und keine passende antwort gefunden.
Ich benutze folgendes Script um auf einer externen Php-Seite bestimmte Themen anzeigen zu lassen, was auch wunderbar funktioniert:
PHP-Code: <?php // Daten für Verbindung zur Datenbank $dbhost = "localhost"; $dbuser = "root"; $dbpassword = ""; $dbdatabase = "test";
// Präfix $prefix = "mybb_";
// URL zum Forum $url = "http://localhost/Forum";
// Anzahl der Themen $limit = "5";
error_reporting(E_ALL | E_NOTICE);
function parseBBCode2HTML( $bb ) { $bb = preg_replace('/\[b\](.*?)\[\/b\]/', '<b>$1</b>', $bb); $bb = preg_replace('/\[i\](.*?)\[\/i\]/', '<i>$1</i>', $bb); $bb = preg_replace('/\[color=([[:alnum:]]{6}?).*\](.*?)\[\/color\]/', '<font color="#$1">$2</font>', $bb); $bb = preg_replace('/\[url=([^ ]+).*\](.*)\[\/url\]/', '<a href="$1">$2</a>', $bb);
$bb = preg_replace('/\n/', "<br/>\n", $bb);
return $bb; }
// Verbindung zur Datenbank aufnehmen $db = mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen"); mysql_select_db($dbdatabase,$db);
// Letzte Themen auslesen $query = mysql_query("SELECT subject,tid,dateline FROM ".$prefix."threads WHERE visible='1' AND fid = '3' ORDER BY tid DESC LIMIT 0,".$limit."");
while ($newest_threads = mysql_fetch_array($query)) { // Beitrag auslesen $query2 = mysql_query("SELECT message FROM ".$prefix."posts WHERE visible = '1' AND tid = '".$newest_threads['tid']."' ORDER BY pid ASC LIMIT 0,1"); $postmessage = mysql_fetch_array($query2); /* ACHTUNG! Die Foren-Software stellt bei color vor den Farbwert automatisch ein Raute-Zeichen, das war von mir nicht beabsichtigt. Bitte löscht beim Ausprobieren die Raute vor der Farbangabe raus. */ $text = "</a><br /><em>News vom: ".date("d.m.Y, H:i", $newest_threads['dateline'])." Uhr</em><br /><h3>".$newest_threads['subject']."</h3><br />".parseBBCode2HTML($postmessage['message'])."</p><hr>";
echo $text; } ?>
Jedoch werden die BB-Codes als reine Codes dargestellt und nicht als Formatierung. Wie kann man es bewerkstelligen das diese auch richtig auf der externen Seite dargestellt werden?
Lg
RE: Themen auf externen Seiten -> BB-Code darstellen - Devidra - 11.10.2010
PHP-Code: function is_odd($intNumber) { if ($intNumber % 2 == 0 ) return true; else return false; } function badlink($link, $prefix) { if ($prefix == "mailto:") { if (strpos($link, "@") === FALSE || strpos($link, ".", (strpos($link, "@")+2)) === FALSE || substr_count($link, "@") > 1 || strpos($link, "@") == 0) { return 1; } } if (strpos($link, ".") == 0 || strpos($link, ".") == strlen($link) || (strpos($link, "/") < strpos($link, ".") && strpos($link, "/") !== FALSE)) { return 1; } }; function setlinks($r, $prefix) { if (substr($r, 0, strlen($prefix)) == $prefix) { $r = "\n".$r; } $r = str_replace("<br>".$prefix, "<br>\n".$prefix, $r); $r = str_replace(" ".$prefix, " \n".$prefix, $r); while (strpos($r, "\n".$prefix) !== FALSE) { list($r1, $r2) = explode("\n".$prefix, $r, 2); if (strpos($r2, " ") === FALSE && strpos($r2, "<br>") === FALSE) { if ($prefix != "mailto:") { $target = ' target="_blank"'; } else { $target = ""; } if (strpos($r2, ".") > 1 && strpos($r2, ".") < strlen($r2) && badlink($r2, $prefix) != 1) { $r = $r1.'<a href="'.$prefix.$r2.'"'.$target.'><font size="2" color="blue">'.$prefix.$r2.'</font></a>'; } else { $r = $r1.$prefix.$r2; } } else { if (strpos($r2, " ") === FALSE || ( strpos($r2, " ") > strpos($r2, "<br>") && strpos($r2, "<br>") !== FALSE)) { list($r2, $r3) = explode("<br>", $r2, 2); if (badlink($r2, $prefix) != 1) { $r = $r1.'<a href="'.$prefix.$r2.'"'.$target.'><font size="3" color="blue">'.$prefix.$r2.'</font></a><br>'.$r3; } else { $r = $r1.$prefix.$r2.'<br>'.$r3; } } else { list($r2, $r3) = explode(" ", $r2, 2); if (strpos($r2, ".") > 1 && strpos($r2, ".") < strlen($r2) && badlink($r2, $prefix) != 1) { $r = $r1.'<a href="'.$prefix.$r2.'"'.$target.'><font size="3" color="blue">'.$prefix.$r2.'</font></a> '.$r3; } else { $r = $r1.$prefix.$r2.' '.$r3; } } } } return $r; };
function bb($r) {
$r = trim($r); $r = htmlentities($r); $r = str_replace("\r\n","<br>",$r); $r = str_replace("[b]","<b>",$r); $r = str_replace("[/b]","</b>",$r); $r = str_replace("[img]","<img src='",$r); $r = str_replace("[/img]","'>",$r); $r = str_replace("[IMG]","<img src='",$r); $r = str_replace("[/IMG]","'>",$r); $r = str_replace("[s]","<s>",$r); $r = str_replace("[/s]","</s>",$r); $r = str_replace("[ul]","<ul>",$r); $r = str_replace("[/ul]","</ul>",$r); $r = str_replace("[li]","<li>",$r); $r = str_replace("[/li]","</li>",$r); $r = str_replace("[ol]","<ol>",$r); $r = str_replace("[/ol]","</ol>",$r); $r = str_replace("[quote]","<br /><table width='80%' bgcolor='#ffff66' align='center'><tr><td style='border: 1px dotted black'><font color=black><b>Quote:<br></b>",$r); $r = str_replace("[/quote]","</font></td></tr></table>",$r); $r = str_replace("[i]","<i>",$r); $r = str_replace("[/i]","</i>",$r); $r = str_replace("[u]","<u>",$r); $r = str_replace("[/u]","</u>",$r); $r = str_replace("[spoiler]",'[spoiler]<font bgcolor ="#000000" color="#DDDDDD">',$r); $r = str_replace("[/spoiler]","</font>[/spoiler]",$r);
//set [link]s while (strpos($r, "[link=") !== FALSE) { list ($r1, $r2) = explode("[link=", $r, 2); if (strpos($r2, "]") !== FALSE) { list ($r2, $r3) = explode("]", $r2, 2); if (strpos($r3, "[/link]") !== FALSE) { list($r3, $r4) = explode("[/link]", $r3, 2); $target = ' target="_blank"'; if (substr($r2, 0, 7) == "mailto:") { $target = ""; } $r = $r1.'<a href="'.$r2.'"'.$target.'><font size="3" color="blue">'.$r3.'</font></a>'.$r4; } else { $r = $r1."[link\n=".$r2."]".$r3; } } else { $r = $r1."[link\n=".$r2; } } $r = str_replace("[link\n=","[link=",$r); ////[link]
///default url link setting $r = setlinks($r, "http://"); $r = setlinks($r, "https://"); $r = setlinks($r, "ftp://"); $r = setlinks($r, "mailto:"); ////links
///emoticons $r = str_replace(":)",'<img src="images/smilie.gif">',$r); $r = str_replace(":(",'<img src="images/sad.gif">',$r); $r = str_replace(":angry:",'<img src="images/angry.gif">',$r); $r = str_replace(":D",'<img src="images/biggrin.gif">',$r); $r = str_replace(":blink:",'<img src="images/blink.gif">',$r); $r = str_replace(":blush:",'<img src="images/blush.gif">',$r); $r = str_replace("B)",'<img src="images/cool.gif">',$r); $r = str_replace("<_<",'<img src="images/dry.gif">',$r); $r = str_replace("^_^",'<img src="images/happy.gif">',$r); $r = str_replace(":huh:",'<img src="images/confused.gif">',$r); $r = str_replace(":lol:",'<img src="images/laugh.gif">',$r); $r = str_replace(":o",'<img src="images/ohmy.gif">',$r); $r = str_replace(":fear:",'<img src="images/fear.gif">',$r); $r = str_replace(":rolleyes:",'<img src="images/rolleyes.gif">',$r); $r = str_replace(":sleep:",'<img src="images/sleep.gif">',$r); $r = str_replace(":p",'<img src="images/tongue.gif">',$r); $r = str_replace(":P",'<img src="images/tongue.gif">',$r); $r = str_replace(":unsure:",'<img src="images/unsure.gif">',$r); $r = str_replace(":wacko:",'<img src="images/wacko.gif">',$r); $r = str_replace(":wink:",'<img src="images/wink.gif">',$r); $r = str_replace(":wub:",'<img src="images/wub.gif">',$r);
$r = trim($r); return $r;
}
Das ist der Code um BB Codes in HTML zu wandeln
Zitat:bb(Hier der Auslese Code)
Damit sollte es eigentlich gemacht sein
RE: Themen auf externen Seiten -> BB-Code darstellen - Sternachen - 11.10.2010
Auch wenn das vllt ne dumme Frage ist. Wo soll ich damit hin?
RE: Themen auf externen Seiten -> BB-Code darstellen - Devidra - 11.10.2010
Wenn ichs wie bei mir mache ( ich hab aber nen Script um den ersten Post auszulesen )
PHP-Code: <?php // Daten für Verbindung zur Datenbank $dbhost = "localhost"; $dbuser = "root"; $dbpassword = ""; $dbdatabase = "test";
// Präfix $prefix = "mybb_";
// URL zum Forum $url = "http://localhost/Forum";
// Anzahl der Themen $limit = "5";
error_reporting(E_ALL | E_NOTICE);
function parseBBCode2HTML( $bb ) { $bb = preg_replace('/\[b\](.*?)\[\/b\]/', '<b>$1</b>', $bb); $bb = preg_replace('/\[i\](.*?)\[\/i\]/', '<i>$1</i>', $bb); $bb = preg_replace('/\[color=([[:alnum:]]{6}?).*\](.*?)\[\/color\]/', '<font color="#$1">$2</font>', $bb); $bb = preg_replace('/\[url=([^ ]+).*\](.*)\[\/url\]/', '<a href="$1">$2</a>', $bb);
$bb = preg_replace('/\n/', "<br/>\n", $bb);
return $bb; }
function is_odd($intNumber) { if ($intNumber % 2 == 0 ) return true; else return false; } function badlink($link, $prefix) { if ($prefix == "mailto:") { if (strpos($link, "@") === FALSE || strpos($link, ".", (strpos($link, "@")+2)) === FALSE || substr_count($link, "@") > 1 || strpos($link, "@") == 0) { return 1; } } if (strpos($link, ".") == 0 || strpos($link, ".") == strlen($link) || (strpos($link, "/") < strpos($link, ".") && strpos($link, "/") !== FALSE)) { return 1; } }; function setlinks($r, $prefix) { if (substr($r, 0, strlen($prefix)) == $prefix) { $r = "\n".$r; } $r = str_replace("<br>".$prefix, "<br>\n".$prefix, $r); $r = str_replace(" ".$prefix, " \n".$prefix, $r); while (strpos($r, "\n".$prefix) !== FALSE) { list($r1, $r2) = explode("\n".$prefix, $r, 2); if (strpos($r2, " ") === FALSE && strpos($r2, "<br>") === FALSE) { if ($prefix != "mailto:") { $target = ' target="_blank"'; } else { $target = ""; } if (strpos($r2, ".") > 1 && strpos($r2, ".") < strlen($r2) && badlink($r2, $prefix) != 1) { $r = $r1.'<a href="'.$prefix.$r2.'"'.$target.'><font size="2" color="blue">'.$prefix.$r2.'</font></a>'; } else { $r = $r1.$prefix.$r2; } } else { if (strpos($r2, " ") === FALSE || ( strpos($r2, " ") > strpos($r2, "<br>") && strpos($r2, "<br>") !== FALSE)) { list($r2, $r3) = explode("<br>", $r2, 2); if (badlink($r2, $prefix) != 1) { $r = $r1.'<a href="'.$prefix.$r2.'"'.$target.'><font size="3" color="blue">'.$prefix.$r2.'</font></a><br>'.$r3; } else { $r = $r1.$prefix.$r2.'<br>'.$r3; } } else { list($r2, $r3) = explode(" ", $r2, 2); if (strpos($r2, ".") > 1 && strpos($r2, ".") < strlen($r2) && badlink($r2, $prefix) != 1) { $r = $r1.'<a href="'.$prefix.$r2.'"'.$target.'><font size="3" color="blue">'.$prefix.$r2.'</font></a> '.$r3; } else { $r = $r1.$prefix.$r2.' '.$r3; } } } } return $r; };
function bb($r) {
$r = trim($r); $r = htmlentities($r); $r = str_replace("\r\n","<br>",$r); $r = str_replace("[b]","<b>",$r); $r = str_replace("[/b]","</b>",$r); $r = str_replace("[img]","<img src='",$r); $r = str_replace("[/img]","'>",$r); $r = str_replace("[IMG]","<img src='",$r); $r = str_replace("[/IMG]","'>",$r); $r = str_replace("[s]","<s>",$r); $r = str_replace("[/s]","</s>",$r); $r = str_replace("[ul]","<ul>",$r); $r = str_replace("[/ul]","</ul>",$r); $r = str_replace("[li]","<li>",$r); $r = str_replace("[/li]","</li>",$r); $r = str_replace("[ol]","<ol>",$r); $r = str_replace("[/ol]","</ol>",$r); $r = str_replace("[quote]","<br /><table width='80%' bgcolor='#ffff66' align='center'><tr><td style='border: 1px dotted black'><font color=black><b>Quote:<br></b>",$r); $r = str_replace("[/quote]","</font></td></tr></table>",$r); $r = str_replace("[i]","<i>",$r); $r = str_replace("[/i]","</i>",$r); $r = str_replace("[u]","<u>",$r); $r = str_replace("[/u]","</u>",$r); $r = str_replace("[spoiler]",'[spoiler]<font bgcolor ="#000000" color="#DDDDDD">',$r); $r = str_replace("[/spoiler]","</font>[/spoiler]",$r);
//set [link]s while (strpos($r, "[link=") !== FALSE) { list ($r1, $r2) = explode("[link=", $r, 2); if (strpos($r2, "]") !== FALSE) { list ($r2, $r3) = explode("]", $r2, 2); if (strpos($r3, "[/link]") !== FALSE) { list($r3, $r4) = explode("[/link]", $r3, 2); $target = ' target="_blank"'; if (substr($r2, 0, 7) == "mailto:") { $target = ""; } $r = $r1.'<a href="'.$r2.'"'.$target.'><font size="3" color="blue">'.$r3.'</font></a>'.$r4; } else { $r = $r1."[link\n=".$r2."]".$r3; } } else { $r = $r1."[link\n=".$r2; } } $r = str_replace("[link\n=","[link=",$r); ////[link]
///default url link setting $r = setlinks($r, "http://"); $r = setlinks($r, "https://"); $r = setlinks($r, "ftp://"); $r = setlinks($r, "mailto:"); ////links
///emoticons $r = str_replace(":)",'<img src="images/smilie.gif">',$r); $r = str_replace(":(",'<img src="images/sad.gif">',$r); $r = str_replace(":angry:",'<img src="images/angry.gif">',$r); $r = str_replace(":D",'<img src="images/biggrin.gif">',$r); $r = str_replace(":blink:",'<img src="images/blink.gif">',$r); $r = str_replace(":blush:",'<img src="images/blush.gif">',$r); $r = str_replace("B)",'<img src="images/cool.gif">',$r); $r = str_replace("<_<",'<img src="images/dry.gif">',$r); $r = str_replace("^_^",'<img src="images/happy.gif">',$r); $r = str_replace(":huh:",'<img src="images/confused.gif">',$r); $r = str_replace(":lol:",'<img src="images/laugh.gif">',$r); $r = str_replace(":o",'<img src="images/ohmy.gif">',$r); $r = str_replace(":fear:",'<img src="images/fear.gif">',$r); $r = str_replace(":rolleyes:",'<img src="images/rolleyes.gif">',$r); $r = str_replace(":sleep:",'<img src="images/sleep.gif">',$r); $r = str_replace(":p",'<img src="images/tongue.gif">',$r); $r = str_replace(":P",'<img src="images/tongue.gif">',$r); $r = str_replace(":unsure:",'<img src="images/unsure.gif">',$r); $r = str_replace(":wacko:",'<img src="images/wacko.gif">',$r); $r = str_replace(":wink:",'<img src="images/wink.gif">',$r); $r = str_replace(":wub:",'<img src="images/wub.gif">',$r);
$r = trim($r); return $r;
}
// Verbindung zur Datenbank aufnehmen $db = mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen"); mysql_select_db($dbdatabase,$db);
// Letzte Themen auslesen $query = mysql_query("SELECT subject,tid,dateline FROM ".$prefix."threads WHERE visible='1' AND fid = '3' ORDER BY tid DESC LIMIT 0,".$limit."");
while ($newest_threads = mysql_fetch_array($query)) { // Beitrag auslesen $query2 = mysql_query("SELECT message FROM ".$prefix."posts WHERE visible = '1' AND tid = '".$newest_threads['tid']."' ORDER BY pid ASC LIMIT 0,1"); $postmessage = mysql_fetch_array($query2); /* ACHTUNG! Die Foren-Software stellt bei color vor den Farbwert automatisch ein Raute-Zeichen, das war von mir nicht beabsichtigt. Bitte löscht beim Ausprobieren die Raute vor der Farbangabe raus. */ $text = "</a><br /><em>News vom: ".date("d.m.Y, H:i", $newest_threads['dateline'])." Uhr</em><br /><h3>".$newest_threads['subject']."</h3><br />".parseBBCode2HTML($postmessage['message'])."</p><hr>";
echo bb($text); } ?>
RE: Themen auf externen Seiten -> BB-Code darstellen - Sternachen - 11.10.2010
Habs mal bei mir so eingefügt wie bei dir, jedoch funktioniert das mit den Farben nicht wirklich. Fett "gedrucktes" funktioniert. Den Rest müsste ich noch ausprobieren.
Hier der komplette Code wie er jetzt aussieht:
PHP-Code: <?php // Daten für Verbindung zur Datenbank $dbhost = "localhost"; $dbuser = "root"; $dbpassword = ""; $dbdatabase = "test";
// Präfix $prefix = "mybb_";
// URL zum Forum $url = "http://localhost/Forum";
// Anzahl der Themen $limit = "5";
error_reporting(E_ALL | E_NOTICE);
function parseBBCode2HTML( $bb ) { $bb = preg_replace('/\[b\](.*?)\[\/b\]/', '<b>$1</b>', $bb); $bb = preg_replace('/\[i\](.*?)\[\/i\]/', '<i>$1</i>', $bb); $bb = preg_replace('/\[color=([[:alnum:]]{6}?).*\](.*?)\[\/color\]/', '<font color="#$1">$2</font>', $bb); $bb = preg_replace('/\[url=([^ ]+).*\](.*)\[\/url\]/', '<a href="$1">$2</a>', $bb);
$bb = preg_replace('/\n/', "<br/>\n", $bb);
return $bb; }
function is_odd($intNumber) { if ($intNumber % 2 == 0 ) return true; else return false; } function badlink($link, $prefix) { if ($prefix == "mailto:") { if (strpos($link, "@") === FALSE || strpos($link, ".", (strpos($link, "@")+2)) === FALSE || substr_count($link, "@") > 1 || strpos($link, "@") == 0) { return 1; } } if (strpos($link, ".") == 0 || strpos($link, ".") == strlen($link) || (strpos($link, "/") < strpos($link, ".") && strpos($link, "/") !== FALSE)) { return 1; } }; function setlinks($r, $prefix) { if (substr($r, 0, strlen($prefix)) == $prefix) { $r = "\n".$r; } $r = str_replace("<br>".$prefix, "<br>\n".$prefix, $r); $r = str_replace(" ".$prefix, " \n".$prefix, $r); while (strpos($r, "\n".$prefix) !== FALSE) { list($r1, $r2) = explode("\n".$prefix, $r, 2); if (strpos($r2, " ") === FALSE && strpos($r2, "<br>") === FALSE) { if ($prefix != "mailto:") { $target = ' target="_blank"'; } else { $target = ""; } if (strpos($r2, ".") > 1 && strpos($r2, ".") < strlen($r2) && badlink($r2, $prefix) != 1) { $r = $r1.'<a href="'.$prefix.$r2.'"'.$target.'><font size="2" color="blue">'.$prefix.$r2.'</font></a>'; } else { $r = $r1.$prefix.$r2; } } else { if (strpos($r2, " ") === FALSE || ( strpos($r2, " ") > strpos($r2, "<br>") && strpos($r2, "<br>") !== FALSE)) { list($r2, $r3) = explode("<br>", $r2, 2); if (badlink($r2, $prefix) != 1) { $r = $r1.'<a href="'.$prefix.$r2.'"'.$target.'><font size="3" color="blue">'.$prefix.$r2.'</font></a><br>'.$r3; } else { $r = $r1.$prefix.$r2.'<br>'.$r3; } } else { list($r2, $r3) = explode(" ", $r2, 2); if (strpos($r2, ".") > 1 && strpos($r2, ".") < strlen($r2) && badlink($r2, $prefix) != 1) { $r = $r1.'<a href="'.$prefix.$r2.'"'.$target.'><font size="3" color="blue">'.$prefix.$r2.'</font></a> '.$r3; } else { $r = $r1.$prefix.$r2.' '.$r3; } } } } return $r; };
function bb($r) {
$r = trim($r); $r = htmlentities($r); $r = str_replace("\r\n","<br>",$r); $r = str_replace("[b]","<b>",$r); $r = str_replace("[/b]","</b>",$r); $r = str_replace("[img]","<img src='",$r); $r = str_replace("[/img]","'>",$r); $r = str_replace("[IMG]","<img src='",$r); $r = str_replace("[/IMG]","'>",$r); $r = str_replace("[s]","<s>",$r); $r = str_replace("[/s]","</s>",$r); $r = str_replace("[ul]","<ul>",$r); $r = str_replace("[/ul]","</ul>",$r); $r = str_replace("[li]","<li>",$r); $r = str_replace("[/li]","</li>",$r); $r = str_replace("[ol]","<ol>",$r); $r = str_replace("[/ol]","</ol>",$r); $r = str_replace("[quote]","<br /><table width='80%' bgcolor='#ffff66' align='center'><tr><td style='border: 1px dotted black'><font color=black><b>Quote:<br></b>",$r); $r = str_replace("[/quote]","</font></td></tr></table>",$r); $r = str_replace("[i]","<i>",$r); $r = str_replace("[/i]","</i>",$r); $r = str_replace("[u]","<u>",$r); $r = str_replace("[/u]","</u>",$r); $r = str_replace("[spoiler]",'[spoiler]<font bgcolor ="#000000" color="#DDDDDD">',$r); $r = str_replace("[/spoiler]","</font>[/spoiler]",$r);
//set [link]s while (strpos($r, "[link=") !== FALSE) { list ($r1, $r2) = explode("[link=", $r, 2); if (strpos($r2, "]") !== FALSE) { list ($r2, $r3) = explode("]", $r2, 2); if (strpos($r3, "[/link]") !== FALSE) { list($r3, $r4) = explode("[/link]", $r3, 2); $target = ' target="_blank"'; if (substr($r2, 0, 7) == "mailto:") { $target = ""; } $r = $r1.'<a href="'.$r2.'"'.$target.'><font size="3" color="blue">'.$r3.'</font></a>'.$r4; } else { $r = $r1."[link\n=".$r2."]".$r3; } } else { $r = $r1."[link\n=".$r2; } } $r = str_replace("[link\n=","[link=",$r); ////[link]
///default url link setting $r = setlinks($r, "http://"); $r = setlinks($r, "https://"); $r = setlinks($r, "ftp://"); $r = setlinks($r, "mailto:"); ////links
///emoticons $r = str_replace(":)",'<img src="images/smilie.gif">',$r); $r = str_replace(":(",'<img src="images/sad.gif">',$r); $r = str_replace(":angry:",'<img src="images/angry.gif">',$r); $r = str_replace(":D",'<img src="images/biggrin.gif">',$r); $r = str_replace(":blink:",'<img src="images/blink.gif">',$r); $r = str_replace(":blush:",'<img src="images/blush.gif">',$r); $r = str_replace("B)",'<img src="images/cool.gif">',$r); $r = str_replace("<_<",'<img src="images/dry.gif">',$r); $r = str_replace("^_^",'<img src="images/happy.gif">',$r); $r = str_replace(":huh:",'<img src="images/confused.gif">',$r); $r = str_replace(":lol:",'<img src="images/laugh.gif">',$r); $r = str_replace(":o",'<img src="images/ohmy.gif">',$r); $r = str_replace(":fear:",'<img src="images/fear.gif">',$r); $r = str_replace(":rolleyes:",'<img src="images/rolleyes.gif">',$r); $r = str_replace(":sleep:",'<img src="images/sleep.gif">',$r); $r = str_replace(":p",'<img src="images/tongue.gif">',$r); $r = str_replace(":P",'<img src="images/tongue.gif">',$r); $r = str_replace(":unsure:",'<img src="images/unsure.gif">',$r); $r = str_replace(":wacko:",'<img src="images/wacko.gif">',$r); $r = str_replace(":wink:",'<img src="images/wink.gif">',$r); $r = str_replace(":wub:",'<img src="images/wub.gif">',$r);
$r = trim($r); return $r;
} // Verbindung zur Datenbank aufnehmen $db = mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen"); mysql_select_db($dbdatabase,$db);
// Letzte Themen auslesen $query = mysql_query("SELECT subject,tid,dateline FROM ".$prefix."threads WHERE visible='1' AND fid = '3' ORDER BY tid DESC LIMIT 0,".$limit."");
while ($newest_threads = mysql_fetch_array($query)) { // Beitrag auslesen $query2 = mysql_query("SELECT message FROM ".$prefix."posts WHERE visible = '1' AND tid = '".$newest_threads['tid']."' ORDER BY pid ASC LIMIT 0,1"); $postmessage = mysql_fetch_array($query2); /* ACHTUNG! Die Foren-Software stellt bei color vor den Farbwert automatisch ein Raute-Zeichen, das war von mir nicht beabsichtigt. Bitte löscht beim Ausprobieren die Raute vor der Farbangabe raus. */ $text = "</a><br /><em>News vom: ".date("d.m.Y, H:i", $newest_threads['dateline'])." Uhr</em><br /><h3>".$newest_threads['subject']."</h3><br />".parseBBCode2HTML($postmessage['message'])."</p><hr>";
echo $text; } ?>
RE: Themen auf externen Seiten -> BB-Code darstellen - Devidra - 11.10.2010
Ich weiß nicht ob dus gelesen hast, aber in deinen Code steht was wegen den Farben
Zitat: /* ACHTUNG! Die Foren-Software stellt bei color vor den Farbwert
automatisch ein Raute-Zeichen, das war von mir nicht beabsichtigt.
Bitte löscht beim Ausprobieren die Raute vor der Farbangabe raus. */
RE: Themen auf externen Seiten -> BB-Code darstellen - Sternachen - 11.10.2010
Lesen kann ich schon noch aber wenn man sich deinen Code anschaut wird keine Umwandlung für den Farb-Code mit angegeben. Dementsprechend funktioniert es auch nicht seis mit dem teil davor oder nicht.
RE: Themen auf externen Seiten -> BB-Code darstellen - Devidra - 11.10.2010
Ah, danke für den Hinweiß.
Ich poste dir gleich/morgen den Code, bin gleich weg wegen Arbeit..
Kannst es hoffe ich doch noch so lange aushalten?
PS: Oder wenn mir jemand helfen kann, bin noch kein PHP Profi
PHP-Code: $r = str_replace("[color= ]","<span color= >",$r); $r = str_replace("[/color]","</span>",$r);
Fehlt nur die Variable um die Eingabe einzugeben, und davon hab ich keine Ahnung ( geht das überhaupt? )
Dann wäre es schon fertig
RE: Themen auf externen Seiten -> BB-Code darstellen - Michael - 11.10.2010
Versuchs mal so:
PHP-Code: $r = preg_replace('/\[color=(\#[0-9A-Fa-f]{6}|[a-z]+)\](.*?)\[\/color\]/', '<span style="color:$1;">$2</span>', $r);
RE: Themen auf externen Seiten -> BB-Code darstellen - Sternachen - 11.10.2010
Michael deine Variante funktioniert leider nicht, aber ich hab eine eigene gefunden:
PHP-Code: $r = str_replace("[/font]","</font>",$r); $r = str_replace("[/color]","</font>",$r); $r = str_replace("[/size]","</font>",$r); $r = str_replace("[color=#","<font color='#",$r); $r = str_replace("[font=","<font face='",$r); $r = str_replace("[size=","<font size='",$r); $r = str_replace("]","'>",$r);
Am wichtigsten ist hierbei das das PHP-Code: $r = str_replace("]","'>",$r);
ganz am Ende da sich der Code von oben nach unten drucharbeitet und somit gewährleistet wird das das übriggebliebene "]" erst ganz zum schluss umgewandelt wird (:
|