Funktion highlight_string() als BB-Code Variante

Author:
Kategorie:
PHP Script
Beitrag vom:
Funktion highlight_string() als BB-Code Variante

Diese Funktion bietet einen PHP Syntax Highlighter zur farbigen Darstellung von PHP Script Code

Mit dem folgenden Codebeispiel ist es dir möglich zwischen den Tags [php]...[/php] eine Php Code farbig darstellen zu lassen, wobei der Text außerhalb dieser Klammern unberührt bleibt.

<?php
function bb_code($text) {
 /**********************************************
 * Autor: Michael Müller, 30.07.2003, 17:55
 **********************************************/
 # Config #
 // Header und Footer beschreiben, wie...
 // der farbige PHP-Code umschlossen wird
 $header_php = '<br/><br/><div>PHP-CODE:<br/><br/><code>';
 $footer_php = '</code></div><br/>';
 # Ab hier nichts mehr ändern #

 # PHP-Code-Blöcke zwischenspeichern #
 $c = md5(time());
 $pattern = "/\[php\](.*?)\[\/php\]/si";
 preg_match_all ($pattern, $text, $results);
 for($i=0;$i<count($results[1]);$i++) {
 $text = str_replace($results[1][$i], $c.$i.$c, $text);
 }
 # PHP-Code-Blöcke zwischenspeichern #

 # alles, was die Codeblöcke nicht betrifft #
 $text = htmlentities($text);
 # alles, was die Codeblöcke nicht betrifft #

 # PHP-Code-Blöcke umwandeln #
 for($i=0;$i<count($results[1]);$i++) {
 ob_start();
 highlight_string(trim($results[1][$i]));
 $ht = ob_get_contents();
 ob_end_clean();
 $all = $header_php.$ht.$footer_php;
 if(function_exists("str_ireplace")) {
 $text = str_replace("[php]".$c.$i.$c."[/php]",$all,$text);
 } else {
 $text = str_replace("[php]".$c.$i.$c."[/php]",$all,$text);
 $text = str_replace("[PHP]".$c.$i.$c."[/PHP]",$all,$text);
 }
 }
 # PHP-Code-Blöcke umwandeln #

 // Text zurückgeben
 return $text;
}

echo bb_code($text);
?>

Quelle: php4u.net


Seite teilen

Der Beitrag: Funktion highlight_string() als BB-Code Variante, aus der Rubrik PHP Script hat dir gefallen?