strip_tags() Frage

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

  • strip_tags() Frage

    Hallo alle zusammen!


    Folgende Sachlage:

    Ich habe eine Klasse (Interaktiv), worin verschiedene Methoden zur Überprüfung von Benutzereingaben vorhanden sind.

    Eine Methode daraus ist die stripTags() Methode. Sie durchläuft ein Array und entfernt somit, wie der Name schon sagt, mit strip_tags(), alle Tags aus Formularfeldern und gibt das "bereinigte" Array wieder zurück.


    Das sieht wie fogt aus:
    PHP-Code:
    /**
      * Entfernt aus dem uebergebenen Array mit strip_tags() etwaige Code Tags
      *  wie z.B <tr>, <td> usw.
      * Dabei wird das uebergebene Array zuerst geprueft und bei true durchlaufen
      */
      
    protected function stripTags($array){

        if(!
    is_array($array)){
          if(
    ERRORS)
            die(
    '<em>Interaktiv::stripTags()</em> wurde kein Array &uuml;bergeben');
          die(
    UNBEKANNTERFEHLER);
        }

        foreach(
    $array as $feld => $wert){

          
    $wert strip_tags($wert);
          
    $felder[$feld] = $wert;

        }

        return 
    $felder;

      } 

    So weit so gut. Was mich aber interessieren würde ist, ob man zählen kann wieviele Tags strip_tags() entfernt hat bzw. mir würde schon reichen, ob strip_tags überhaupt tags entfernt hat.


    Danke im Vorraus für Hilfe.
    Zuletzt geändert von pPanther; 23.07.2007, 01:25.

  • #2
    prüfen, ob "<[^>]*>" im text vorkommt, müsste reichen. aber wofür?

    p.s.
    PHP-Code:
    print_r(array_map('strip_tags', array('x<a>y''z'))); 

    Kommentar


    • #3
      PHP-Code:
      if($wert != strip_tags($wert))
        echo 
      'Tags entfernt';
      else
        echo 
      'keine Tags entfernt.'
      so einfach.

      Bei der Anzahl ist es schon schwieriger. Da müsstest du ggf. vorher mit preg_match_all() die Anzahl der Tags ermitteln und u.U. später nochmal. Die Differenz ist die Anzahl der entfernten Tags.

      Kommentar


      • #4
        Zum einen hats mich interessiert ob sowas überhaupt möglich ist, und zum anderen kann ich das Ergebnis nun in eine Benutzer-Fehlermeldung einbauen.


        Wenn jemand z.B. ins Formular nur HTML eingibt, aber nicht weiß, dass es nicht erlaubt ist, und danach das Formular abschickt, bekommt er eine Fehlermeldung dass z.B. das Feld "Text" nicht leer sein darf. Und damit das nicht passiert, möchte ich ihn darauf hinweisen, dass seine HTML Tags entfernt wurden. Das ist alles.


        Edit:
        Ich hab erst jetzt erst die 2te Antwort gesehen.
        Man so einfach!! Ich hatte echt ein Brett vorm Hirn.


        Danke euch beiden für die Hilfe

        Kommentar

        Lädt...
        X