highlight_string(), <? und ?> nachträglich Entfernen möglich?

Jukkales

Erfahrenes Mitglied
Hallo,
ich habe ein Script in dem ich das highlight_script() Command benutze. Jedoch lese ich das Script aus einer Datenbank in Zeilen aus und habe bei jeder Zeile am anfang <? und am ende ?>. Die eigentliche frage, ist es möglich, Die einleitenden PHP zeichen nach highlight_string() zu entfernen?

Ich hab es schon mit einer funktion versucht nur geht das nicht:

PHP:
	<?
function highlighttext($text) {
	$text = highlight_string($text);
	$text = str_replace("<?","",$text);
	$text = str_replace("?>","",$text);
	return $text;
	}
  	
	while (list($num,$row)=each($list)) {
		$text = "<?".$row."?>";
		highlighttext($text);
		echo "<br>";
		$num+1;
            } 
?>

Danke im Vorraus
 
Zuletzt bearbeitet:
Hallo,
das hier sollte funktionieren.
PHP:
<?php
    function highlighttext($text) {
        $text = highlight_string($text, true);
        $text = str_replace('&lt;?php','',$text);
        $text = str_replace('&lt;?','',$text);
        $text = str_replace('?&gt;','',$text);
        return $text;
    } 
    echo highlighttext('<?php echo "Hallo Welt"; ?>');
?>

mfg
forsterm
 
Wenn ich das so mach geht es überhauptnicht,

Auslöser: das 'true' bei highlight_string($text, true);. Wenn ich es weglass oder false schreib komtm der Text mit <? und ?>
 
Jukkales hat gesagt.:
Wenn ich das so mach geht es überhauptnicht,

Auslöser: das 'true' bei highlight_string($text, true);. Wenn ich es weglass oder false schreib komtm der Text mit <? und ?>
Hallo,
komisch, bei mir hat es nämlich wunderbar funktioniert.

mfg
forsterm
 
Zuletzt bearbeitet:
Oh, ich hab meinen Fehler gefunden. Ich habe ausversehen das echo vergessen da highlight_string() wenne s auf false egsetzt ist ja den text direkt ausgibt.

Danke für die Hilfe geht einwandfrei
 
Zurück