[RESOLU] fonction muette

Mammouth du PHP | 558 Messages

28 juil. 2008, 22:49

bonjour je ne comprend pas pourquoi je n'arrive pas a renvoyer une valeur a une fonction.
la fonction reste muette je ne comprend plus rien.
j'ai essayer avec je ne sait combien de fonction pour obtenir toujours la meme reponse c'est a dire rien...
merci
la derniere que j'ai utilisé
<?php 
$recherche="mot mot1 mot2 mot3 mots4"; //la variable qui va servir a l'esaie
$mot=array("mot","mot1","mot2","mot3","mot4");//le tableau contenant la liste des mots a rechercher
$essaie=stristr($recherche,$mot);
if($essaie===FALSE){ echo'tu l\'as dans le cul'; } else{ echo'c\'est ok'; } //$essaie devrais renvoyer la chaine puisqu'elle est sencer trouve les mots
echo"<br>"; 
echo $essaie; //la fonction ne renvoie rien 

//autre exemple

$recherche="mot5 mot6 mot7 mot8 mots9"; //la variable qui va servir a l'esaie
$mot=array("mot","mot1","mot2","mot3","mot4");//le tableau contenant la liste des mots a rechercher
$essaie=stristr($recherche,$mot);
if($essaie===FALSE){ echo'tu l\'as dans le cul'; } else{ echo'c\'est ok'; } //$essaie devrais renvoyer false puisqu'elle n'a rien trouve
echo"<br>"; 
echo $essaie; //la fonction ne renvoie rien 
?>

ViPHP
AB
ViPHP | 5818 Messages

29 juil. 2008, 00:28

Tu es sûr que l'on peux passer un tableau comme deuxième paramètre pour la fonction stristr ?

Mammouth du PHP | 558 Messages

29 juil. 2008, 00:36

non je n'en suis pas sur mais j'ai vraiement besoin de passer un tableau pour les mot a rechercher.
merci

ViPHP
ViPHP | 2287 Messages

29 juil. 2008, 01:20

Je partage le doute d'AB. la page de manuel d'stristr ne me rassure pas quand à l'utilisation d'un tableau en deuxième paramètre. Et si ce doute est fondé, ça peut très bien expliquer ton souci :-)

Essaye d'encapsuler stristr dans une fonction pour traiter dans une boucle le tableau, comme tu veux qu'il le soit (Que veux tu exactement obtenir comme résultat si plusieurs éléments du tableau sont trouvés ?...).
if(!@work()){ Nespresso(); } else { what(); }
______________________________

ViPHP
AB
ViPHP | 5818 Messages

29 juil. 2008, 01:28

Et bien si tu souhaites utiliser stristr() utilises cette fonction dans une boucle sur ton tableau de mots recherchés.

EDIT Avait pas vu la réponse de Calimero

Mammouth du PHP | 558 Messages

29 juil. 2008, 12:04

Je partage le doute d'AB. la page de manuel d'stristr ne me rassure pas quand à l'utilisation d'un tableau en deuxième paramètre. Et si ce doute est fondé, ça peut très bien expliquer ton souci :-)

Essaye d'encapsuler stristr dans une fonction pour traiter dans une boucle le tableau, comme tu veux qu'il le soit (Que veux tu exactement obtenir comme résultat si plusieurs éléments du tableau sont trouvés ?...).
c'est des test pour un livre d'or sur mon site et je veux qu'ils soit correct sans insulte ni mots comme 'sex','viagra', etc...
je suis passer par un autre chemin qui me donne les resultats que je veux.
<?php  
$recherche="mot mot1 mot2 mot3 mots4"; //la variable qui va servir a l'esaie 
$mot=array("mot","mot1","mot2","mot3","mot4");//la liste de mot
$recherche=str_replace(' ','',strtolower($recherche)); //les characteres inutile pouvant nuire a la recherche et on met tout en minuscule pour le moment il n'y en a qu'un mais je pense le modifier par un regex qui ne laissera passer que les lettre et supprimer tous le reste
$recherche=str_replace($mot,'',$entree);
if(strlen($recherche)!=strlen($entree))//on compte le nombre de charactere pour voir si quelque chose a ete supprimer
{ echo'Vous êtes vulgaire votre message ne sera pas poster';//finalement je n'entre pas dans leur jeux d'insulte je reste polie
$recherche=NULL;//on vide la variable si une insulte a ete trouver
 }
?>
PS il est loin d'etre finit j'en suis au tous premier test
merci a tous...

Mammouth du PHP | 2278 Messages

11 mars 2012, 19:46

Warning: stristr() [function.stristr]: needle is not a string or an integer in /var/www/htdocs/tests/cherche.php
est très clair sur l'erreur.
sans quoi, stocker les mots interdits dans un tableau, et les mots de la réponse dans l'autre, permettrait de se servir de array_intersect, ou de array_filter...
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

ViPHP
xTG
ViPHP | 7331 Messages

11 mars 2012, 21:19

=D> =D> =D> =D>

ViPHP
ViPHP | 2287 Messages

11 mars 2012, 22:02

Bravo sirakawa :lol:
if(!@work()){ Nespresso(); } else { what(); }
______________________________