highlight_string()

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • highlight_string()

    Hm, ich baue bei meinem Boardsystem gerade eine Board - Tag - Funktion ein, die aber im Moment noch nicht richtig funktioniert . Das einzige Problem ist aber nur das PHP - Syntaxhighlighting, denn wenn dieser Tag benutzt wird, dann wird der Text außerhalb des Tags zwar wie gewollt schwarz ausgegeben, doch ist er immernoch in dieser komischen Schrift (im HTML - Code steht "<code>bla</code>". Der Code sieht ungefähr so aus:
    Code:
    <?php
    
    $text = 'bla bla bla, irgend ein text hier ...[ code]<?php
    	$text = "bla bla bla";
    	echo $text;
    ?>[ /code]und hier noch irgend ein text nach dem [ code] - tag'; 
    
    $text = parse_text($text, 1, 1);
    
    echo $text;
    
    
    function parse_text($text, $allow_code, $allow_smilies)
    {
    	if($allow_code == 1)
    	{
    		ob_start(); 
    			highlight_string("$text"); 
    			$text = ob_get_contents(); 
    		ob_end_clean();
    
    		$text = preg_replace("/\[code\](.*?)\[\/code\]/si", "<blockquote><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif, Tahoma\">Syntax Highlighting:</font><br><hr size=\"1\"><font face=\"Courier New, Courier\">\\1</font><hr size=\"1\"></blockquote>", $text);
    		$text = preg_replace("/\[(b|i|u)\](.*?)\[\/(\\1)\]/si","<\\1>\\2</\\1>", $text);
    	}
    
    	if($allow_smilies == 1)
    	{
    smilie-shit-here
    	}
    
    	return $text;
    }
    
    ?>
    Hoffe ihr könnt mir helfen. Ich möchte doch nur, dass "'bla bla bla, irgend ein text hier" und der Text nach dem Code z.B. in Verdana ausgegeben wird.

    solanum

  • #2
    Okay einfacherere Frage hoffe ich: Warum geht $text = preg_replace("/\[code\](.*?)\[\/code\]/si", parse_syntax(\\2), $text); nicht? Liegt am 2. Operator und ist auch irgendwie klar, aber wie sage ich ihm, dass er die Funktion aufrufen soll mit dem Stringteil, der Zwischen den [ code] [/ code] - Tags steht?

    solanum

    Kommentar

    Lädt...
    X