1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

PHP Code auf Websiten farblich formatieren

Discussion in 'Web-Know-how für die Homepage' started by lightdisc, May 11, 2007.

Thread Status:
Not open for further replies.
  1. lightdisc

    lightdisc Halbes Megabyte

    Nabend,
    Wenn ich jetzt folgenden PHP Code hier im Forum einfüge,
    z.B. "<?php echo "Hallo Welt"; ?>"

    dann wird wenn ich ihn in die Klammern [ PHP ] [ / PHP ] setze

    PHP:
    <?php
    echo "Hallo Welt";
    ?>
    gefärbt, um ihn übersichtlicher zu machen, wie das in den meisten Editoren (z.B. HTML-Kit) auch der Fall ist. Wie stelle ich das in einem Post an? Woran erkennt das Script, dass z.B. "str_replace" orange färbt und der String, dem der Funktion übergeben wird blau oder grün färbt (Beispiel!)?
     
  2. enschman

    enschman Megabyte

  3. lightdisc

    lightdisc Halbes Megabyte

    Danke für deine Hilfe!

    Ein Problem habe ich noch:

    Die Ausgabe hat total viele Slashes, die ich dann mit
    PHP:
    stripslashes();
    entfernt habe, aber jetzt wird der Code immer noch farblich falsch ausgegeben. Die erste Funktion ist noch richtig und danach ist alles rot. Woran liegt das?
     
  4. enschman

    enschman Megabyte

    Hi,

    hau doch mal den ganzen relevanten Code her! Wie soll die Ausgabe denn sein und was benutzt du als umzuwandelnden String?

    mfg Tenschman
     
  5. lightdisc

    lightdisc Halbes Megabyte

    Hier das Script
    PHP:
    function synt_hightlight($code) {
     
    $code highlight_string($codetrue);
     
    $code explode("<br />"$code);
     
     
    $i "1";
     foreach (
    $code as $line => $syntax) {
      echo 
    "<font color=\#000000\">".$i."</font> ".stripslashes($syntax)."<br>";
      
    $i++;
     }

    echo 
    "<form action=\"\" method=\"post\">\n";
    echo 
    "<textarea name=\"synt\" cols=\"60\" rows=\"15\"></textarea><br>\n";
    echo 
    "<input type=\"submit\" value=\"färben\">";
    echo 
    "</form>";
    if(
    $_POST['synt']){
    showCode($_POST['synt']);
    }
    Wenn ich jetzt z.B.

    Code:
    //MONATSNAME + JAHRE
    echo "<br>\n"; //Bis hierhin wird alles normal hervorgehoben
    echo "Monatsname + Jahr => <b>".date("F Y")."</b>";  //Text ist komplett rot und das darunter auch....
    //MONATSNAME + JAHRE
    
    In das Textfeld eingebe wird er folgendermaßen ausgegeben:
    Code:
    [COLOR="Orange"]//MONATSNAME + JAHRE[/COLOR]
    [COLOR="SeaGreen"]echo[/COLOR] [COLOR="DarkRed"]"<br>\n"; //Bis hierhin wird alles normal hervorgehoben
    echo "Monatsname + Jahr => <b>".date("F Y")."</b>";  //Text ist komplett rot und das darunter auch....
    //MONATSNAME + JAHRE[/COLOR]
    
    
    Der Rest nach dem zweiten echo ist komplett rot, aber warum?
     
  6. enschman

    enschman Megabyte

    Dein stripslashes() kommt zu spät... auf deinem Server ist magic_quotes_gpc an, daher nimm diesen befehl aus der zeile und schreib ganz am anfang folgendes:

    PHP:
    <?php
    if(get_magic_quotes_gpc()) {
    $_POST['synt']=stripslashes($_POST['synt']);
    }

    //Rest von deinem Skript
    function synt_hightlight($code) {
    ...
    mfg Tenschman
     
  7. lightdisc

    lightdisc Halbes Megabyte

    Jetzt gehts, vielen Dank für deine Hilfe und schönen Abend noch !
     
Thread Status:
Not open for further replies.

Share This Page