Lister et dédoublonner les mots bannis d'un texte

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par KOogar, 5 Janvier 2008.

  1. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    82
    Bonjour,

    J'ai créer un filtre pour ressortir la liste des mots bannis d'une texte. J'en profite pour vous le donner.
    Simple: d'un coté le texte et de l'autre la liste de mots bannis/
    Reste encore un bug -> Le code fonctionne trés bien mais des que j'essaye de passer ce code dans une fonction, cela ne fonctionne plus du tout.

    Une idée ?


    Code:
    <?php
    
    $tb_m_b = 'je|tu|il|ils|elle|elles';
    $titre = "Je suis avec elle pour elle meme!";
    
    function liste_mots_bannis_et_deboublonne($titre) {
    $x=0;
    $tab_invalide = array();
    // passe le texte en minuscule
    $titre = strtolower($titre);
    // passe la chaine en tableau
    $titre_tab = split("[^[:alpha:]]+", $titre);
    // ressort la liste des mots interdits
    foreach($titre_tab as $v)  {
           $tab_invalide[$x] .= ''.(ereg('('.$tb_m_b.')', $v) ? '-'.$v.' ' : '').'';
           $x++; }
    // dedoublonne
    $tab_invalide = array_unique($tab_invalide);
    // passe le tableau en chaine
    foreach($tab_invalide as $b)  $tab_final_invalide .= ''.$b.'';
    // le resultat est dans $tab_final_invalide
       return $tab_final_invalide;
       }
    
    if(ereg('('.$tb_m_b.')',$titre))
     {  echo 'Mots non autorisés: ('.liste_mots_bannis_et_deboublonne("$titre").')<br />';
     }
    
    ?>
    affiche:
    Mots non autorisés: (-Je -suis -avec -pour -elle -meme - )

    Ne fonctionne pas puisque cela retourne la liste de tout les mots

    Code:
    <?php
    
    $tb_m_b = 'je|tu|il|ils|elle|elles';
    $titre = "Je suis avec elle pour elle meme!";
    
    $x=0;
    $tab_invalide = array();
    // passe le texte en minuscule
    $titre = strtolower($titre);
    // passe la chaine en tableau
    $titre_tab = split("[^[:alpha:]]+", $titre);
    // ressort la liste des mots interdits
    foreach($titre_tab as $v)  {
           $tab_invalide[$x] .= ''.(ereg('('.$tb_m_b.')', $v) ? '-'.$v.' ' : '').'';
           $x++; }
    // dedoublonne
    $tab_invalide = array_unique($tab_invalide);
    // passe le tableau en chaine
    foreach($tab_invalide as $b)  $tab_final_invalide .= ''.$b.'';
    // le resultat est dans $tab_final_invalide
    
    
    if(ereg('('.$tb_m_b.')',$titre)) { echo 'Mots non autorisés: ('.$tab_final_invalide.')<br />';
     }
    ?>
    affiche:
    Mots non autorisés: (-je -elle )

    Ce code par contre fonctionne trés bien.
     
  2. arnaudmn
    arnaudmn WRInaute passionné
    Inscrit:
    11 Mai 2005
    Messages:
    1 038
    J'aime reçus:
    2
    Ta variable $tb_m_b est global. Sauf que dans ta fonction, si tu veux y acceder comme une variable globale, tu dois l'indiquer à php en mettant dans ta fonction la ligne :
    GLOBAL $tb_m_b;
    Sinon, php supoose que ta variable $tb_m_b est locale, et donc elle est vide.
     
  3. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    82
    Parfait, la fonction marche a merveille :D

    Merci et @++
     
  4. arnaudmn
    arnaudmn WRInaute passionné
    Inscrit:
    11 Mai 2005
    Messages:
    1 038
    J'aime reçus:
    2
    Ouf :)

    Bon ben moi, j'ai fait ma BA de l'année ; une bonne chose de faite 8)
     
  5. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    82
    j'espere qui t'en reste encore tout un pack pour WRI, car moi me reste encore quelque matins à faire la tete dans le sac ;)
     
  6. arnaudmn
    arnaudmn WRInaute passionné
    Inscrit:
    11 Mai 2005
    Messages:
    1 038
    J'aime reçus:
    2
    Un pack de BA ? Tu rêve ! J'ai même pas été nominé pour le "meilleur wrinaute de l'année", donc je refuse de rendre encore service ! :)
     
  7. bee_human
    bee_human WRInaute passionné
    Inscrit:
    16 Juin 2005
    Messages:
    1 697
    J'aime reçus:
    0
    Je te note sur mes tablettes. Pour dans un an s'il y a le même challenge.
     
Chargement...
Similar Threads - Lister dédoublonner mots Forum Date
Un outil pour lister tous les liens d'un site Netlinking, backlinks, liens et redirections 24 Janvier 2019
Comment lister mes URL pour faire mes redirections 301 Débuter en référencement 26 Janvier 2017
Est ce que mon site s'est fait blacklister? Débuter en référencement 24 Février 2015
Faut-il lister les images dans un sitemap ? Débuter en référencement 31 Mai 2013
Lister les Hn d'une page Rédaction web et référencement 15 Mai 2013
Gros souci Scrapebox : impossible de lister les pages d'un site Administration d'un site Web 24 Juin 2012
Lister de touts les articles Développement d'un site Web ou d'une appli mobile 7 Avril 2012
Lister tous les liens sortants d'un site Netlinking, backlinks, liens et redirections 1 Avril 2012
Lister les pages d'un site avec url non réécrites ? Administration d'un site Web 9 Juin 2011
[Wordpress] Code pour lister les derniers articles d'une catégorie Développement d'un site Web ou d'une appli mobile 26 Mai 2011
Outil Twitter pour lister ceux qui ne me suivent plus Twitter 29 Avril 2011
Outil ou api pour lister les backlink Débuter en référencement 13 Novembre 2010
comment blaklister un mot clé de Google Google : l'entreprise, les sites web, les services 20 Septembre 2010
Lister les BL et voir No/Do follow Débuter en référencement 10 Septembre 2010
Est-il possible de lister les BL de domaines différents ? Netlinking, backlinks, liens et redirections 7 Septembre 2010
PHP – Mysql Lister des régions, villes, departements Développement d'un site Web ou d'une appli mobile 4 Septembre 2010
Archive ZIP : décompresser, lister + vérif types fichiers Développement d'un site Web ou d'une appli mobile 17 Juillet 2010
Lister les noms de domaine d'une marque Noms de domaine et référencement 9 Juillet 2010
Blacklister un pays ou le bannir Administration d'un site Web 8 Mars 2010
Modifier la structure : deux pages pour lister les produits, quelles actions SEO ? Demandes d'avis et de conseils sur vos sites 23 Février 2010