Hier im Forum bekommt ihr bei euren fragen schnelle hilfe.Hier geht es rund um das Web SeitenProgrammieren.Alles rund ums Javascript,Html,Php,Css und Sql.Auf fast allen Fragen haben wir eine Antwort.
Der Soforthilfe-chat verspricht das ,was sein Name sagt. Hier sind Leute Online die sofort ihre hilfe anbieten.Seht in der OnlineListe nach und wenn einer Online ist werdet ihr auch antwort bekommen. Admine ,Moderatoren und Helfer sind unsere Spezialisten in Sachen Web Programierung
71 Unwetterwarnungen in Deutschland
Die Datenbank wurde zuletzt am 02.08.2020 17:34:28 aktualiesiert
71

BBCode - Tutorial

Hier erkläre ich euch in kurzen Schritten wie man einen BBCode aufbauen könnte!

Wir Beginnen:
(erstellt euch eine neue PHP-Seite)


    function bbcode($bb) {
	    $offset = 0;
	    while(($pos = strpos($bb, '[noparse]', $offset)) !== false) {
	        $end = strpos($bb, '[/noparse]', $pos);
	        if($end === false) break;
	        $noparse = substr($bb, $pos + 9, $end - ($pos + 9));
	        $noparse = str_replace(array('[', ']'), array('[', ']'), $noparse);
	        $end += 10;
	        $bb = substr_replace($bb, $noparse, $pos, $end - $pos);
	        $offset = $end;
	    }
	    $search[] = '[b]';
	    $search[] = '[/b]';
	    $search[] = '[i]';
	    $search[] = '[/i]';
	    $search[] = '[u]';
	    $search[] = '[/u]';
	    $search[] = '[/color]';
	    $search[] = '[/size]';
	    $search[] = '[/font]';
	    $search[] = '[highlight]';
	    $search[] = '[/highlight]';
	    $search[] = '[quote]';
	    $search[] = '[/quote]';
	    $replace[] = '';
	    $replace[] = '';
	    $replace[] = '';
	    $replace[] = '';
	    $replace[] = '';
	    $replace[] = '';
	    $replace[] = '';
	    $replace[] = '';
	    $replace[] = '';
	    $replace[] = '';
	    $replace[] = '';
	    $replace[] = '
Zitat:
'; $replace[] = '

'; $bb = str_replace($search, $replace, $bb); $search = array(); $replace = array(); $search[] = '/\[color=(.*?)\]/'; $search[] = '/\[size=(.*?)\]/'; $search[] = '/\[font=(.*?)\]/'; $search[] = '/\[email\](.*?)\[\/email\]/'; $search[] = '/\[email=(.*?)\](.*?)\[\/email\]/'; $search[] = '/\[url\](.*?)\[\/url\]/'; $search[] = '/\[url=(.*?)\](.*?)\[\/url\]/'; $search[] = '/\[img\](.*?)\[\/img\]/'; $replace[] = ''; $replace[] = ''; $replace[] = ''; $replace[] = ''; $replace[] = ''; $replace[] = ''; $replace[] = ''; $replace[] = ''; $bb = preg_replace($search, $replace, $bb); $offset = 0; while(strpos($bb, '[list]', $offset) !== false) { $pos = strpos($bb, '[list]', $offset); $end = strpos($bb, '[/list]', $pos); if($end === false) break; $list = trim(substr($bb, $pos + 6, $end - ($pos + 6))); $elements = explode('[*]', $list); $list = '
    '; for($i = 1; $i < count($elements); $i++) { $list .= '
  • '.nl2br(rtrim($elements[$i])).'
  • '; } $list .= '
'; $end += 7; $offset = $end; $bb = substr_replace($bb, $list, $pos, $end - $pos); } $offset = 0; while(strpos($bb, '[list=', $offset) !== false) { $pos = strpos($bb, '[list=', $offset); $pos2 = strpos($bb, ']', $pos + 6); $type = substr($bb, $pos + 6, $pos2 - ($pos + 6)); $end = strpos($bb, '[/list]', $pos2); if($end === false) break; $list = trim(substr($bb, $pos2 + 1, $end - ($pos2 + 1))); $elements = explode('[*]', $list); $list = '
    '; for($i = 1; $i < count($elements); $i++) { $list .= '
  1. '.nl2br(rtrim($elements[$i])).'
  2. '; } $list .= '
'; $end += 7; $offset = $end; $bb = substr_replace($bb, $list, $pos, $end - $pos); } $offset = 0; while(($pos = strpos($bb, '[code]0[/code]', $pos); if($end === false) break; $code = substr($bb, $pos + 6, $end - ($pos + 6)); $strlen = strlen($code) + 13; $code = '
'.str_replace('', '', $code).'
'; $end += 7; $offset = $end - ($strlen - strlen($code)); $bb = substr_replace($bb, $code, $pos, $end - $pos); } // Smilies $bb = eregi_replace(';)', ';)', $bb); return $bb; }

Texte an die Funktion übergeben!

    include("bbcode.php");	 
	$message = "Ich bin ein [b]Fetter[/b] Text der auch einen [url=http://google.de]Link[/url] parat hat ;)"; 
	echo $message; // Nachricht unformatiert
	echo "
"; $message = bbcode($message); echo $message; //Formatierter Text

Mit "include("bbcode.php");" binden wir die Funktion ein

$message = "Ich bin ein Fetter Text der auch einen Link parat hat ;)";

Mit "$message = bbcode($message);" lassen wir den Text durch die Funktion laufen!

um bei Texten einen Zeilenumbruch anzeigen zu lassen der mit einer Enter-Taste im Textarea verfasst wurde sollte es dann so aussehen

    include("bbcode.php");
	$message = "Ich bin ein [b]Fetter[/b] Text der auch einen [url=http://google.de]Link[/url] parat hat ;)";
	echo $message; // Nachricht unformatiert
	echo "
"; $message = nl2br($message); //Hier wird der Text an den sogenannten Enter-Stellen (
) umgebrochen $message = bbcode($message); //Wir senden den Text an bbcode und lassen in arbeiten damit er den Text für uns umformatiert echo $message; //Formatierter Text

Mit der Funktion nl2br() sagen wir das wir den Text über Quellcode mit <br /> übersehen wollen aber in der Ansicht sollte es ein unsichtbarer umbruch sein!

Man kann es beliebig erweitern wenn man möchte :)
Beispielsweise bei den Smilies ^^

Welche bbc Codes gibt es so ? Liste der häufigsten Bbc Codes