highlight - wie immer -.-

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.
    Last edited by kuebel-s; 13-03-2004, 14: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.

    Comment


    • #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.

      Comment

      Working...
      X