[PHP] Code hervorheben WIE BBCODE

  • Themenstarter Themenstarter encom
  • Beginndatum Beginndatum
Wenn du mich meinst...ja ich benutze highlight_string! Bei mir siehts so aus wie weiter oben im Thread:

PHP:
function phpTags($post){

    $post=stripslashes($post);
    ob_start();
    highlight_string($post);
    $post="ob_get_contents();
    ob_end_clean();

}

und:

PHP:
function replacePostChars($post){

    //...diverse andere BB-Code-Replaces

    //Hier soll das Script hin dass mir den Inhalt der PHP-Tags formatiert und wenn nötig 
    //auch verschachtelt
}
 
Zuletzt bearbeitet:
Hi Dennis, also die Feldbezeichnung meines Feldes in der Datenbank ist:
faqtext vom typ longtext

der inhalt des feldes ist:
Code:
 text zur erklärung blabla
 
 code der im highlight ausgegeben werden soll:
 <?php highlight_text("<?php setlocale(LC_TIME, 'de_DE'); echo strftime('%A, %d. %B %Y' -%T Uhr); ?>"); ?> 
 
 
 alternativ:
 <?php highlight_file("setlocal.php"); ?>

bei beiden alternativen gibt es eine leere ausgabe.
siehe: http://www.gernand24.de/artikelausgang.php?ID=3


Grüße dline
 
Eigentlich sollte zumindest highlight_file() funktionieren.
Ich benutz das auch in einem Script, und es macht keine Probleme.

Ich komm nur leider grad nicht an das Script ran, da der FTP mich irgendwie nicht reinlaesst.
Wenn ich das spaeter noch krieg poste ich es mal.
 
Ich pushe wirklich nur ungern, aber es ist wirklich wichtig! Hat keiner eine Idee wie man das Ganze auch für Verschachtelungen realisiert!?
 
nero_85 hat gesagt.:
Ich pushe wirklich nur ungern, aber es ist wirklich wichtig! Hat keiner eine Idee wie man das Ganze auch für Verschachtelungen realisiert!?

Klar, hau das ganze in eine Schleife!
Ich hätte dir den Code gerne gezeigt, aber ich weiß nicht genau welchen Code du Verschachteln möchtest!
 
Ja es geht eben um den [ PHP]-Tag, wie hier im Forum! Dazu hab ich ersmal das hier aus diesem Thread übernommen:

PHP:
function phpTags($post){ 

    $post=stripslashes($post); 
    ob_start(); 
    highlight_string($post); 
    $post=ob_get_contents(); 
    ob_end_clean(); 

}

und dann hab ich noch eine andere Funktion die mir den ganzen BBCode umwandelt:

PHP:
function replacePostChars($post){

    //Diverse Replaces

    //Das ist der Ausdruck um den Inhalt des Codetags herauszufiltern
    $ausdruck="/\[PHP\](.*)\[\/PHP] / esiu";


}

Naja und dann stehts eben! Denn mit preg_replace(); geht das nicht! PLS HELP
 
Geht das nicht so:

PHP:
$ausdruck=preg_replace("/\[PHP\](.*)\[\/PHP] / esiu",phpTags($post);

Und wenn du das verschachtelt haben willst machst du das so:

PHP:
while(preg_match("/\[PHP\](.*)\[\/PHP] / esiu",$post))
{
  $text = preg_replace("/\[PHP\](.*)\[\/PHP] / esiu", phpTags($post), $post);
}
 
Zurück