Guten Tag, ich habe ein problem. Ich möchte aus der Forumsoftware MyBB einen Thread auf meiner Startseite anzeigen lassen. Jedoch sind dort codes enthalten wie: [align=center], [color=#ff0000] und viele mehr. Jetz ist meine Frage wie kann ich diese Codes in PHP anzeigen lassen so das sie Funktionieren ?
Ankündigung
Einklappen
Keine Ankündigung bisher.
MyBB Text in PHP benutzen
Einklappen
Neue Werbung 2019
Einklappen
X
-
Hallo,
google mal nach "php bbcode parser". Dh den BBCode mit so einem parsen und dann gepsannt sein was rauskommtThe string "()()" is not palindrom but the String "())(" is.
Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
PHP.de Wissenssammlung | Kein Support per PN
-
Willkommen im Forum.
Sinnvoll ist es sicherlich, die Renderlogik der Forensoftware aufzurufen. (Ob ein generischer BBCode-Parser für alle etwaigen forenspezifischen Tags funktioniert, ist mehr oder weniger Glückssache.) Wie das genau geht, kann zumindest ich nicht sagen, da ich die Software nicht kenne. Vielleicht liegt das fertige HTML auch schon irgendwo mit in der Datenbank. Das wird gern aus Caching-Gründen gemacht.
Siehe auch:
- http://www.php.de/php-einsteiger/543...produkten.html
Kommentar
-
Ich habe nun diesen(http://christian-seiler.de/projekte/php/bbcode/) Parser in mein PHP Script eingebaut. Jedoch verändert sich nichts am Code.
PHP-Code:require_once 'parser/stringparser_bbcode.class.php';
Kommentar
-
Angesehen von der "suche und verwende den HTML-Cache", die ich glaub ich als erstes anschauen würde, ev. hilft dir das ja weiter:
http://phpdave.com/MyBBIntegrator/Co...on_parseString ("parse String")
Since MyBB (and various other bulletin boards) store post messages by using BBCodes (or MyCodes), a function would come in handy, which parses these "raw" posts and transforms the BBCodes into the appropriate html code for correct and intended message display. This is the purpose of the function parseString
Da würde ich an deiner Stelle auch einfach mal nachfragen, die haben die Info sicher flotter bei der Hand.
LGThe string "()()" is not palindrom but the String "())(" is.
Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
PHP.de Wissenssammlung | Kein Support per PN
Kommentar
-
Das sind Unicode Replacement Characters. Die können zum Beispiel dann entstehen, wenn du Multibyte-Zeichen „zerschneidest“, also einzelne Bytes entfernst oder dergleichen.
Da stimmt irgendwo was mit den Zeichensätzen nicht und/oder du wendest Funktionen, die nicht multibyte-fähig sind (strpos, substr, …), falsch an.
- http://en.wikipedia.org/wiki/Special...ment_character
Kommentar
-
Dies ist die Funktion die ich benutzen.
PHP-Code:function showBBcodes($text) {
// BBcode array
$find = array(
'~\[b\](.*?)\[/b\]~s',
'~\[s\](.*?)\[/s\]~s',
'~\[i\](.*?)\[/i\]~s',
'~\[u\](.*?)\[/u\]~s',
'~\[quote\](.*?)\[/quote\]~s',
'~\[size=(.*?)\](.*?)\[/size\]~s',
'~\[color=(.*?)\](.*?)\[/color\]~s',
'~\[url\]((?:ftp|https?)://.*?)\[/url\]~s',
'~\[align=(.*?)\](.*?)\[/align\]~s',
'~\[img\](https?://.*?\.(?:jpg|jpeg|gif|png|bmp))\[/img\]~s'
);
// HTML tags to replace BBcode
$replace = array(
'<b>$1</b>',
'<s>$1</s>',
'<i>$1</i>',
'<span style="text-decoration:underline;">$1</span>',
'<pre>$1</'.'pre>',
'<span style="font-size:$1px;">$2</span>',
'<span style="color:$1;">$2</span>',
'<a href="$1">$1</a>',
'<div align="$1">$2</div>',
'<img style="height:auto; width:auto; max-width:700px; max-height:700px;" src="$1" alt="" />'
);
$message = preg_replace("#&(?!\#[0-9]+;)#si", "&", $text); // fix & but allow unicode
$message = str_replace("<","<",$text);
$message = str_replace(">",">",$text);
return preg_replace($find,$replace,$text);
}
Kommentar
-
Sieht im Grunde okay aus.
Debuggen.
- http://phpforum.de/forum/showthread.php?t=216988
- http://php-de.github.io/#debugging
Kommentar
Kommentar