Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste
BB-Code bei Beitragsausgabe
#1
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.
Zitieren
#2
Die Funktion stammt aber nicht von MyBB, oder?

Vielleicht hilft Dir die Crossreference bzgl. der Ersetzung weiter:
https://crossreference.mybb.de/inc/class....html#l234
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#3
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. :/
Zitieren
#4
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?
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#5
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.
Zitieren
#6
Du kannst Dir ja mal ansehen, wie das MyBB z.B. in der functions_post.php macht:
https://crossreference.mybb.de/inc/funct...e.html#l31 (Zeile 31 und 32)
und
https://crossreference.mybb.de/inc/funct....html#l571
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#7
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
Zitieren