MyBB.de Forum

Normale Version: Themen auf externen Seiten -> BB-Code darstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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
PHP-Code:
function is_odd($intNumber)
{
  if (
$intNumber == ) 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"@") > || strpos($link"@") == 0) {
            return 
1;
            }
        }
    if (
strpos($link".") == || strpos($link".") == strlen($link) || (strpos($link"/") < strpos($link".") && strpos($link"/") !== FALSE)) {
        return 
1;
        }
    };
function 
setlinks($r$prefix) {
    if (
substr($r0strlen($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$r2);
        if (
strpos($r2" ") === FALSE && strpos($r2"<br>") === FALSE) {
            if (
$prefix != "mailto:") {
                
$target ' target="_blank"';
                }
            else {
                
$target "";
                }
            if (
strpos($r2".") > && 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>"$r22);
                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(" "$r22);
                if (
strpos($r2".") > && 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="$r2);
    if (
strpos($r2"]") !== FALSE) {
        list (
$r2$r3) = explode("]"$r22);
        if (
strpos($r3"[/link]") !== FALSE) {
            list(
$r3$r4) = explode("[/link]"$r32);
            
$target ' target="_blank"';
            if (
substr($r207) == "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

Auch wenn das vllt ne dumme Frage ist. Wo soll ich damit hin?
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 == ) 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"@") > || strpos($link"@") == 0) {
            return 
1;
            }
        }
    if (
strpos($link".") == || strpos($link".") == strlen($link) || (strpos($link"/") < strpos($link".") && strpos($link"/") !== FALSE)) {
        return 
1;
        }
    };
function 
setlinks($r$prefix) {
    if (
substr($r0strlen($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$r2);
        if (
strpos($r2" ") === FALSE && strpos($r2"<br>") === FALSE) {
            if (
$prefix != "mailto:") {
                
$target ' target="_blank"';
                }
            else {
                
$target "";
                }
            if (
strpos($r2".") > && 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>"$r22);
                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(" "$r22);
                if (
strpos($r2".") > && 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="$r2);
    if (
strpos($r2"]") !== FALSE) {
        list (
$r2$r3) = explode("]"$r22);
        if (
strpos($r3"[/link]") !== FALSE) {
            list(
$r3$r4) = explode("[/link]"$r32);
            
$target ' target="_blank"';
            if (
substr($r207) == "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);
}
?>
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 == ) 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"@") > || strpos($link"@") == 0) {
            return 
1;
            }
        }
    if (
strpos($link".") == || strpos($link".") == strlen($link) || (strpos($link"/") < strpos($link".") && strpos($link"/") !== FALSE)) {
        return 
1;
        }
    };
function 
setlinks($r$prefix) {
    if (
substr($r0strlen($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$r2);
        if (
strpos($r2" ") === FALSE && strpos($r2"<br>") === FALSE) {
            if (
$prefix != "mailto:") {
                
$target ' target="_blank"';
                }
            else {
                
$target "";
                }
            if (
strpos($r2".") > && 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>"$r22);
                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(" "$r22);
                if (
strpos($r2".") > && 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="$r2);
    if (
strpos($r2"]") !== FALSE) {
        list (
$r2$r3) = explode("]"$r22);
        if (
strpos($r3"[/link]") !== FALSE) {
            list(
$r3$r4) = explode("[/link]"$r32);
            
$target ' target="_blank"';
            if (
substr($r207) == "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;
}
?>
Ich weiß nicht ob dus gelesen hast, aber in deinen Code steht was wegen den Farben Smile

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. */
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.
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
Versuchs mal so:
PHP-Code:
$r preg_replace('/\[color=(\#[0-9A-Fa-f]{6}|[a-z]+)\](.*?)\[\/color\]/''<span style="color:$1;">$2</span>'$r); 
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 (:
Seiten: 1 2