BBCode - PHP Code immer farbig

proloser

Erfahrenes Mitglied
Hallo,

ich hab im Forum diesen Code gefunden:

PHP:
function php_string($text) { 
  
    $text = stripslashes($text); 
    $text = str_replace("<br>","\n",$text);
    ob_start(); 
    highlight_string($text);  
    $text = ob_get_contents(); 
    ob_end_clean();
    return $text;
  }

  $text = preg_replace("/\[PH.P](.*)\[\/PH.P\]/esiU", "php_string('$1')", $text);

Der PHP Code ist nur farbig wenn das Zeichen "<?php / ?>" vor / hinter dem Code steht!
Wie kann ich es machen damit der Code zwischen [PH.P] [/PH.P] immer farbig ist?

MfG proloser
 
Du könntest die Highlights einfach hinzufügen:
PHP:
<?php
function php_string($text) { 
	if(substr($text, 0,2) != "<?") {
		$text = "<?php \n".$text;
	}
	if(substr($text, strlen($text) - 2, 2) != "?>") {
		$text .= "\n?>";
	}
    $text = stripslashes($text); 
    $text = str_replace("<br>","\n",$text);
    ob_start(); 
    highlight_string($text);  
    $text = ob_get_contents(); 
    ob_end_clean();
    return $text;
  }
  $text = preg_replace("/\[PH.P](.*)\[\/PH.P\]/esiU", "php_string('$1')", $text);
?>

Oder du gehst eine Nummer größer und verwendest GESHi ( http://qbnz.com/highlighter/ ) das direkt ein ganzes Bundle an Highlightings mitbringt und auch viele Möglichkeiten zum selber konfigurieren eröffnet.
 
Zurück