WRInaute accro
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 ?
affiche:
Mots non autorisés: (-Je -suis -avec -pour -elle -meme - )
Ne fonctionne pas puisque cela retourne la liste de tout les mots
affiche:
Mots non autorisés: (-je -elle )
Ce code par contre fonctionne trés bien.
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.