[PHP] Code hervorheben WIE BBCODE

  • Themenstarter Themenstarter encom
  • Beginndatum Beginndatum
Weiter vorne im Forum ist eine Funktion zum Higlighten beschrieben worden:
PHP:
function phpTags($data)
{
	ob_start();
	highlight_string(stripslashes($data));
	$output = ob_get_contents();
	ob_end_clean();
	return $output;
}

Und außerdem wurde beschrieben wie man den PHP-Tag herausfiltert:

PHP:
preg_replace('|\[PHP\](.+?)\[/PHP\]|eis', 'phpTags("$1")', $row['faqtext']);

Müsste eigentlich so funktionieren! Berichtigt mich wenn es falsch ist!
 
Hallo miteinander,
die Funktion phpTags könnte man sich sparen, indem man highlight_string mit TRUE als zweiten Parameter verwendet:

mixed highlight_string ( string str [, bool return] )

The highlight_string() function outputs a syntax highlighted version of str using the colors defined in the built-in syntax highlighter for PHP.

If the second parameter return is set to TRUE then highlight_string() will return the highlighted code as a string instead of printing it out. If the second parameter is not set to TRUE then highlight_string() will return TRUE on success, FALSE on failure.

Gruß
Marvin
 
Der zweite Parameter ist allerdings erst ab Version 4.2.0 verfügbar. Daher ist die Variante mit Ausgabepuffer der sichere Weg.
 
Zurück