Ankündigung

Einklappen
Keine Ankündigung bisher.

strip_tags

Einklappen

Neue Werbung 2019

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

  • strip_tags

    Hallo habe folgendes Problem:

    Ich will meinen Usern erlauben PHP Code
    PHP-Code:
    <?php
    echo"So wie hier";
    ?>
    zu benutzen. Das klappt auch mit folgender Funktion ganz gut:

    Code:
    function bb_php($kommentar){
    $kommentar = str_replace("]\n", "]", $kommentar);
    $match = array('#\[test\](.*?)\[\/test\]#se');
    $replace = array("'[test]'.highlight_string(stripslashes('$1'), true).'[/test]'");
    return preg_replace($match, $replace, $kommentar);
    }
    wobei test in [] eigentlich php [] ist, aber ich weiss nicht ob das forum damit zurecht kommt

    Jetzt zum Problem: Da ich nicht meine Seite mit irgendwelchen HTML befehlen kaputt gemacht sehen will, lasse ich auch alle html befehle nicht zu mit folgendem code:

    Code:
    //HTML escapen
    $kommentar = stripslashes($kommentar); 
    $kommentar = strip_tags($kommentar, "");
    Wenn ich dies mache, funktioniert aber leider nicht mehr der oben genannte Code, da (wenn HTML escapen davor) < ?php escapt wird oder wenn dahinter die syntax nicht mehr gehighlitet wird und keine zeilenumbrüche im code erkennbar sind.


    Wie muss ich strip_tags einstellen um das hinzubekommen?


  • #2
    also wenn jemand im forum php code posten darf, daraus aber der html source gestript wird, macht das ganze doch relativ wenig sinn... man kann ja aber das ausführen des html codes verhindern per befehl (nur kp mehr wie der war ... )

    Kommentar


    • #3
      htmlentities
      Und geht auch alles in die Binsen, immer heftig weiter grinsen!

      Kommentar


      • #4
        ok war vielleicht ein bischen unglücklich ausgedrückt...

        also:
        ich will nicht das meine user php code benutzen dürfen, sondern, dass sie php code schreiben können, der dann im forum angezeigt wird. So wie hier:

        PHP-Code:
        <?php
        echo"das ist ein code";
        ?>
        Das funktioniert auch mit der Funktion
        function bb_php($kommentar){
        $kommentar = str_replace("]\n", "]", $kommentar);
        $match = array('#\[test\](.*?)\[\/test\]#se');
        $replace = array("'[test]'.highlight_string(stripslashes('$1'), true).'[/test]'");
        return preg_replace($match, $replace, $kommentar);
        }
        wunderbar.....

        Doch sobald ich $kommentar = stripslashes($kommentar);
        $kommentar = strip_tags($kommentar, ""); benutze, funktioniert der code nicht mehr ordnungsgemäß

        Kann mir einer helfen
        Danke
        goosele

        Kommentar


        • #5
          htmlentities
          ok habs schon hinbekommen mit htmlentities...
          thx

          Kommentar

          Lädt...
          X