highlight - wie immer -.-

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

  • highlight - wie immer -.-

    Ich habe schon unzählige Versuche gemacht um es hinzubekommen, aber es will einfach nicht gehen!
    PHP-Code:
    <?
    $kot = 'php<?
    $lol = "lol";
    echo "lol";
    ?>/php';
    ?>
    <?
    function text($text)
    {
        $text = htmlspecialchars($text);
        $text = nl2br($text);
        for($i=0; $i<=10; $i++)
        {
            $text = preg_replace("/php(.*)\\/php/siU", post_php("\\\\1"), $text);
        }
        return $text;
    }
    function post_php($code)
    {
        $code = rehtml($code);
        ob_start();
        highlight_string($code);
        $out = ob_get_contents();
        ob_end_clean();
        $out = preg_replace("/<code>(.*)<\\/code>/siU", "\\\\1", $out);
        return $out;
    }
    function rehtml($text)
    {
        $text = str_replace("<br />", "", $text);
        $text = str_replace("&lt;", "<", $text);
        $text = str_replace("&gt;", ">", $text);
        $text = str_replace("&quot;", "\\"", $text);
        $text = str_replace("& a m p ;", "&", $text);  //leicht Editiert - Wegen diesem Forum hier :(
        return $text;
    }
    echo text($kot);
    ?>
    Bitte sagt was daran nicht stimmen kann?
    Meine Verzweiflung ist so gross, denn ich sitze daran wirklich schon etliche lange Stunden. Irgendwie erkennt er in der funktion post_php() innen drinn nicht die funktion rehtml(), auch sachen wie str_replace() funktionieren nicht. Der Text wird immer in Schwarz ausgegeben. Bitte helft mir, über jeden Tipp wäre ich euch sehr dankbar!

    Edit: Eigentlich habe ich als Tags in meinem Text die normalen neben wollen ( [ PHP ] CODE [ /PHP]), doch ich musste es editieren da es hier wohl keine Verschachtelung gibt.
    Zuletzt geändert von kuebel-s; 13.03.2004, 15:35.

  • #2
    Deklarier die Funktionen mal in umgekehrter Reihenfolge. Sollte keine Rolle spielen, aber sinniger ist´s schon.

    Außerdem kannst Du ab 4.3.0 deine rehtml wegwerfen und html_entity_decode benutzen.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Danke für deine Antwort. Aber mit der Reihenfolge habe ich schon getestet, macht keinen Unterschied.
      Ich hab auf meinem Server ne ältere version als 4.3, deswegen habe ich meine eigene funktion geschrieben.

      Kommentar

      Lädt...
      X