Allgemein PHP Snippets

[PHP][SNIPPET] Eigene BBCodes einbauen.

Für mein aktuelles Projekt muss ich BBCodes benutzen, deswegen habe ich eine gute Funktion geschrieben mit der man das einfach und schnell Realisieren kann.

Die Funktion

##
## Parser
##
##
function parseBBCodes($input){
	$BBCODES[] = array('[b]*[/b]', '<b>*</b>');
	$BBCODES[] = array('[u]*[/u]', '<u>*</u>');
	$BBCODES[] = array('[s]*[/s]', '<s>*</s>');
	$BBCODES[] = array('[span]*[/span]', '<span>*</span>');
	$BBCODES[] = array('[color="*"]', '<font color="*">');
	$BBCODES[] = array('[/color]', '</font>');
	$BBCODES[] = array('[img src="*"]', '<img src="*" />');
	foreach($BBCODES as $key => $value)
	{
 
		$BBCode 	= explode("*", $value[0] );
		$HTMLCode 	= explode("*", $value[1] );
		$input 		= str_replace($BBCode[0], $HTMLCode[0], $input);
		$input 		= str_replace($BBCode[1], $HTMLCode[1], $input);
	}
	return $input;
}

Im Array $BBCODES befindet sich ein weiteres array mit dem BBCode und dem HTML Code,
dann wird eine schleife gestartet die nach den BBCodes sucht und diese durch den HTML Tag ersetzt.

Der Aufbau im Des BB-Codes:

[TAGNAME]*[/TAGNAME]

Das * ist dabei das Trennzeichen, also so gesehen der Text zwischen den Tags.

Der Aufbau im Des HTML-Codes:

<TAGNAME>*</TAGNAME>

Auch hier ist das * wieder das Trennzeichen.

Der Aufruf

echo parseBBCodes('[color="red"]TEST[/color]');

sollte sich eigentlich von alleine Erklären, falls nicht -> einfach kommentieren.

Kritik und Kommentar wie immer erwünscht 😉

Gruß, Julian


2872x gelesen

Print Friendly, PDF & Email

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.