MyBB.de Forum
BB-Code bei Beitragsausgabe - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: BB-Code bei Beitragsausgabe (/thread-27120.html)



BB-Code bei Beitragsausgabe - Lukαs - 21.12.2012

Hallo,
ich habe ja im gerade gelösten Thema den Beitrag aus der Tabelle "mybb_posts" ausgelesen.

Nun habe ich das Problem, dass trotz des Vornehmens einer Umwandlung des BB-Codes noch ein paar Befehle des BB-Codes nicht gehen.

Beispiel:
Code:
[size=medium][color=#FF0000]Sonstiges:[/color][/size]


Folgenden Code verwende ich mometan für die Umwandlung:
PHP-Code:
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;


Wäre echt gut, wenn noch SIZE, COLOR, ALIGN, U usw. umgewandelt werden können.


RE: BB-Code bei Beitragsausgabe - Jockl - 21.12.2012

Die Funktion stammt aber nicht von MyBB, oder?

Vielleicht hilft Dir die Crossreference bzgl. der Ersetzung weiter:
https://crossreference.mybb.de/inc/class_parser.php.source.html#l234


RE: BB-Code bei Beitragsausgabe - Lukαs - 21.12.2012

Was ich da oben für einen Code habe, den habe ich durch die Forensuche hier in einem anderen Thema gefunden.

PS. Schau mir das jetzt mal bei Crossreference an



// EDIT: Das mit der Crossreference klappt iwie gar nicht. :/


RE: BB-Code bei Beitragsausgabe - Jockl - 21.12.2012

Was passiert denn, wenn Du z.B. folgendes aus Deinem Code
PHP-Code:
[color:([[:alnum:]]{6}?).*\](.*?)\[\/color\] 
durch die entsprechende Regex der Crossreference ersetzt?
PHP-Code:
[color=([a-zA-Z]*|\#?[0-9a-fA-F]{6})](.*?)\[/color\] 


Edit: warum bindest Du denn nicht den MyBB Parser ein und lässt das machen?


RE: BB-Code bei Beitragsausgabe - Lukαs - 21.12.2012

Wenn du mir hilfst, wie man das mit dem Parser macht, gerne, aber ich bin ein Neuling in PHP und weiß noch nicht viel, vorallem weil ich viele unterschiedlichen Dinge immer machen möchte, brauche ich oft bei so neuem Hilfe.


RE: BB-Code bei Beitragsausgabe - Jockl - 21.12.2012

Du kannst Dir ja mal ansehen, wie das MyBB z.B. in der functions_post.php macht:
https://crossreference.mybb.de/inc/functions_post.php.source.html#l31 (Zeile 31 und 32)
und
https://crossreference.mybb.de/inc/functions_post.php.source.html#l571


RE: BB-Code bei Beitragsausgabe - Lukαs - 21.12.2012

Habe es durch diesen Code geschafft:

PHP-Code:
define("IN_MYBB"1);
require_once 
"./global.php";
require_once 
MYBB_ROOT."inc/class_parser.php";
$parser = new postParser;
$options = array(
    
'allow_mycode' => 1,
    
'allow_smilies' => 1
);
$message $parser->parse_message($message$options);
echo 
$message