[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.
 

Neue Beiträge

Zurück