Erreur fonction PHP
Fermé
karine
-
6 juil. 2009 à 12:42
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 - 6 juil. 2009 à 14:03
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 - 6 juil. 2009 à 14:03
A voir également:
- Erreur fonction PHP
- Erreur 0x80070643 - Accueil - Windows
- Fonction si et - Guide
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
8 réponses
nEm3sis
Messages postés
710
Date d'inscription
lundi 20 août 2007
Statut
Membre
Dernière intervention
9 avril 2012
113
6 juil. 2009 à 12:48
6 juil. 2009 à 12:48
quelle est l'erreur ?
Utilisateur anonyme
6 juil. 2009 à 12:49
6 juil. 2009 à 12:49
<?php function checkIfStringContainsBadword($string) { $badword = "blabla" ; if (preg_match($string, "^*" . $badword . "*$")) { return true ; } else { return false ; } }; ?>
non ?
nEm3sis
Messages postés
710
Date d'inscription
lundi 20 août 2007
Statut
Membre
Dernière intervention
9 avril 2012
113
6 juil. 2009 à 12:59
6 juil. 2009 à 12:59
après réflexion:
1) au lieu de faire if (preg_match) autant retourner directement preg_match ça fait la même chose
2) tu as inversé les paramètre de preg_match
3) tu mettais "^*".$string."*$"
si mes souvenir sont bon ça veut dire commence par (nombre de caractère indéfini) est suivi par $badword et se termine par (nombre de caractère indéfini)
autant mettre a la place juste la recherche du mot $badword non ?
j'ai testé ça, ça a l'air de marcher bien
1) au lieu de faire if (preg_match) autant retourner directement preg_match ça fait la même chose
2) tu as inversé les paramètre de preg_match
3) tu mettais "^*".$string."*$"
si mes souvenir sont bon ça veut dire commence par (nombre de caractère indéfini) est suivi par $badword et se termine par (nombre de caractère indéfini)
autant mettre a la place juste la recherche du mot $badword non ?
j'ai testé ça, ça a l'air de marcher bien
<?php function checkIfStringContainsBadword($string) { $badword = "/blabla/" ; return preg_match($badword, $string); } echo (checkIfStringContainsBadword('blablabla'))?'oui':'non'; echo (checkIfStringContainsBadword('blobloblo'))?'oui':'non'; ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Par contre , j'ai pas inversé les parametre , ce que je verifie c'est la présence du mot $badword dans la chainse $string passé en parametre. ensuite , j'ai pas trés bien compris comment tu retourne la reponse avec les oui: non ... j'ai jamais vu ça :s
nEm3sis
Messages postés
710
Date d'inscription
lundi 20 août 2007
Statut
Membre
Dernière intervention
9 avril 2012
113
6 juil. 2009 à 13:18
6 juil. 2009 à 13:18
pour l'ordre des paramètre il faut mettre en premier paramètre ce que tu cherche et ensuite la chaîne dans laquelle tu va cherché
pour la fin que tu connaissais pas en fait c'est tout simple
pour echo c'est de la forme
echo EXPRESSION;
et mon expression c'est ça (checkIfStringContainsBadword('blobloblo'))?'oui':'non'
de la forme :
( CONDITION ) ? EXPRESSION SI LA CONDITION EST VRAIE : EXPRESSION SI LA CONDITION EST FAUSSE
en fait c'est la même chose que
pour la fin que tu connaissais pas en fait c'est tout simple
pour echo c'est de la forme
echo EXPRESSION;
et mon expression c'est ça (checkIfStringContainsBadword('blobloblo'))?'oui':'non'
de la forme :
( CONDITION ) ? EXPRESSION SI LA CONDITION EST VRAIE : EXPRESSION SI LA CONDITION EST FAUSSE
en fait c'est la même chose que
if (checkIfStringContainsBadword('blobloblo')) echo 'oui'; else echo 'non';
Dr Zoidberg
Messages postés
529
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
12 juin 2015
100
6 juil. 2009 à 14:03
6 juil. 2009 à 14:03
Salut,
Iil y a un truc que je ne comprends pas, pourquoi utiliser preg_match ?
D'après la doc php :
N'utilisez pas preg_match() si vous voulez uniquement savoir si une chaîne est contenue dans une autre. Utilisez dans ce cas les fonctions strpos() ou strstr(), qui sont beaucoup plus rapides.
Iil y a un truc que je ne comprends pas, pourquoi utiliser preg_match ?
D'après la doc php :
N'utilisez pas preg_match() si vous voulez uniquement savoir si une chaîne est contenue dans une autre. Utilisez dans ce cas les fonctions strpos() ou strstr(), qui sont beaucoup plus rapides.