Archiv verlassen und diese Seite im Standarddesign anzeigen : BBcode Parser in vB3.5
Wie nutze ich denn den Parser von vB3.5? Den alten (parse_bbcode2) scheint es nicht mehr zu geben.
In der /includes/class_bbcode.php fand ich eine Funktion names vB_BbcodeParser. Aber wenn ich nutzen will (als Hook in forumhame_start) kommt die Meldung das es diese Funktion nicht gebe.
Was hast du denn vor?BBCode parsen.
Also ich willl auf eigenen Seiten Beiträge formatiert ausgeben.
Rufst du denn im Einstiegspunkt auch die class_bbcode.php auf?
Nein, dachte dies geschieht automatisch.
Ok, habe sie jetzt mit include('includes/class_bbcode.php'); eingebunden. Aber es geht immer noch nicht.
Wie heisst denn die Function genau?
Ich habe vB_BbcodeParser, bbcode_parse und parse_bbcode aber keien dieser Funktionen scheinen zu existieren.
Ich glaube ich nehme jetzt einfach den Code von der 3.0er Version.
function parse_text($string)
{
// URLs verlinken
$string = ' ' . $string;
$string = preg_replace("#(^|[\n ])([\w]+?://.*?[^ \"\n\r\t<]*)#is", "\\1<a href=\"\\2\" class=\"main\" target=\"_blank\">\\2</a>", $string);
$string = preg_replace("#(^|[\n ])((www|ftp)\.[\w\-]+\.[\w\-.\~]+(?:/[^ \"\t\n\r<]*)?)#is", "\\1<a href=\"http://\\2\" class=\"main\" target=\"_blank\">\\2</a>", $string);
$string = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $string);
$string = substr($string, 1);
// Zeilenumbrüche beibehalten
// $string = preg_replace("#\#is", "<br>", $string);
// vB-Codes ersetzen
$string = preg_replace("#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $string);
$string = preg_replace("#\[i\](.+?)\[/i\]#is", "<i>\\1</i>", $string);
$string = preg_replace("#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $string);
$string = preg_replace("#\[link\]www\.(.+?)\[/link\]#is", "<a href=\"http://www.\\1\" class=\"main\" target=\"_blank\">www.\\1</a>", $string);
$string = preg_replace("#\[link\](.+?)\[/link\]#is", "<a href=\"\\1\" class=\"main\" target=\"_blank\">\\1</a>", $string);
$string = preg_replace("#\[link=(.+?)\](.+?)\[/link\]#is", "<a href=\"\\1\" class=\"main\" target=\"_blank\">\\2</a>", $string);
//$string = preg_replace("#\[url\]www\.(.+?)\[/url\]#is", "<a href=\"http://www.\\1\" class=\"main\" target=\"_blank\">www.\\1</a>", $string);
//$string = preg_replace("#\[url\](.+?)\[/url\]#is", "<a href=\"\\1\" class=\"main\" target=\"_blank\">\\1</a>", $string);
$string = preg_replace("#\[url=(.+?)\](.+?)\[/url\]#is", '<a href=\1>\2</a>', $string);
//$string = preg_replace("#\[img\](.+?)\[/img\]#is", "<img src=\"\\1\" alt=\"[image]\" style=\"margin: 5px 0px 5px 0px\" />", $string);
return $string;
}
http://www.vbulletin.org/forum/showthread.php?t=82693require_once('./includes/class_bbcode.php');
$parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
$parsed_text = $parser->do_parse($text, $do_html, $do_smilies, $do_bbcode, $do_imgcode, $do_nl2br, $cachable);
Vielen vielen Dank.
vBulletin ist einfach das GEILSTE Forensystem von allen !!!!! :p
require_once('./includes/class_bbcode.php');
$parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
$parsed_text = $parser->do_parse($text, $do_html, $do_smilies, $do_bbcode, $do_imgcode, $do_nl2br, $cachable);
Ich versuche gerade einen BB-Code zu erstellen, der Links nicht in einem neuen Fenster sondern im selben wie bisher aufmacht.
Der funktioniert auch solange ich den BB-Code innerhalb eines Postings verwende sowie im Admin-Panel. Aber sobald ich versuche anderswo auf einer Seite geparseten Text anzuzeigen, haut das nciht mehr hin.
Weiß jemand woran das liegen kann?
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.