IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres composants PHP Discussion :

[1.0.0 RC1] Fonctionnement des Filtres


Sujet :

Autres composants PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 14
    Par défaut [1.0.0 RC1] Fonctionnement des Filtres
    Bonjour,

    Je vient d'installer le ZF, et en testant les filters, je n'arrive pas à bien comprendre le fonctionnement.
    Je m'explique, j'ai le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Zend_Loader::loadClass('Zend_Filter');
    Zend_Loader::loadClass('Zend_Filter_StripTags');
    Zend_Loader::loadClass('Zend_Filter_Alpha');
    $chaine = new Zend_Filter();
    $chaine ->addFilter(new Zend_Filter_StripTags())
    	->addFilter(new Zend_Filter_Alpha());
     
    echo $message = $chaine->filter('<b>bonjour (-è-\' 675767</b>/n');
    echo "<br>";
    et il m'affiche ceci "bonjourèn"
    Le filter Alpha (Alnum aussi) supprime les espaces.

    Y a t il un paramètre à ajouter ou dois je créer mon propre filtre avec l'interface si je veux garder les espaces ?

    Merci

    Bladebo

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    J'ai l'impression que tu ne conserves que les lettres (Zend_Filter_Alpha) qui sont hors des tags HTML (Zend_Filter_StripTags). L'espace n'est pas considéré comme une lettre, il faut donc revoir les filtres appliqués

  3. #3
    Membre émérite Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Par défaut
    Que veux-tu supprimer au juste? Pour l'instant, le comportement me semble plutot normal...
    En fait, si tu veux te contenter d'utiliser un Zend_Filter_StripTags, il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $fTags=new Zend_Filter_StripTags();
    $newtexte=$fTags->filter('tontexte');
    Je pense que la classe Zend_Filter ne sert qu'à créer des filtres multiples (comme ici, ou tu supprime a la fois les chiffres et les tags)

    edit : merci Yogui pour la correction

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Citation Envoyé par haltabush
    Que veux-tu supprimer au juste? Pour l'instant, le comportement me semble plutot normal...
    En fait, si tu veux te contenter d'utiliser un Zend_Filter_StripTags, il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $fTags=new Zend_Filter_StripTags();
    $newtexte=$fTags->filter('tontexte');
    Je pense que la classe Zend_Filter ne sert qu'à créer des filtres multiples (comme ici, ou tu supprime a la fois les lettres et les tags)
    Tu sans doute veux parler des "non lettres" mais sinon, tu as en effet raison

  5. #5
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 14
    Par défaut
    Je me suis peut-être mal exprimé.

    Je veux en fait supprimer les tags puis supprimer tout ce qui n'est pas alphabétique mais en gardant les espaces.
    Ce qui permettrais de faire passer un texte dans le filter.

    EDIT:
    Après recherche et les différentes réponses que j'ai eu, cela m'a permis de trouver une piste de recherche.
    les filters alpha et alnum supprime exactement tout ce qui ne correspond pas, espace compris.
    Il faut donc créer un nouveau filter ou la fonction sera de ce genre la.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public function filter($value)
        {
            return preg_replace('/[^[:alpha:]-[:space:]]/', '', (string) $value);
        }
    Dommage que ce ne soit pas directement dans les fonctions existantes avec un paramètre à ajouter par exemple

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Fonctionnement des filtres
    Par manuseverine dans le forum Macros et VBA Excel
    Réponses: 39
    Dernier message: 30/08/2010, 16h46
  2. [1.x] Fonctionnement des filtres
    Par Invité dans le forum Symfony
    Réponses: 9
    Dernier message: 14/08/2010, 17h27
  3. Fonctionnement des fichiers.
    Par phoenix440 dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 29/05/2005, 15h36
  4. [TIBCLientDataSet] Utilisation des Filtres
    Par nico27 dans le forum Connexion aux bases de données
    Réponses: 4
    Dernier message: 24/06/2004, 14h22
  5. [langage] fonctionnement des Processus
    Par GMI3 dans le forum Langage
    Réponses: 3
    Dernier message: 19/09/2003, 11h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo