Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: franky26 le le 24-08-2006 a 22:45:41

Titre: Fonction pour vérifier si un chaîne de caractère contient un mot
Posté par: franky26 le le 24-08-2006 a 22:45:41

Bonjour,

Je suis à la recherche d'une fonction PHP qui permet de vérifier si une chaîne de caractère ($chaine1) en contient une autre ($chaine2).

ex.: $chaine1 = "bonjour comment ça va"
$chaine2 = "comment"
> La fonction retourne «vrai» car la chaine 1 contient le mot «comment».

Merci beaucoup!

Titre: Re:Fonction pour vérifier si un chaîne de caractère contient un mot
Posté par: tavman le le 25-08-2006 a 01:18:10

google est ton ami......................................................................................

Bon allé... strchr() ca suffira je pense

Titre: Re:Fonction pour vérifier si un chaîne de caractère contient un mot
Posté par: MarvinLeRouge le le 26-08-2006 a 02:21:42

strpos

Titre: Re:Fonction pour vérifier si un chaîne de caractère contient un mot
Posté par: tavman le le 27-08-2006 a 00:18:18

Heuu nan Marvin... Enfin si mais faut faire gaffe avec le strpos : il renvoit -1 si la chaine ne contient pas la recherche... Et puis elle retourne la position de la chaine recherchée, pas true ou false...

strchr renvoit true ou false par contre...

Titre: Re:Fonction pour vérifier si un chaîne de caractère contient un mot
Posté par: MarvinLeRouge le le 27-08-2006 a 12:20:15

oki
(j'me coucherai moins con ce soir ... à moins que je ne refasse mon stock dans l'intervalle ::) )

Titre: Re:Fonction pour vérifier si un chaîne de caractère contient un mot
Posté par: tavman le le 27-08-2006 a 18:17:34

Bahh en fait, suffit d'essayer de traduire :

strchr => string search
strpos => string position

et dans la string "comment ca va" si tu recherche "comment" ca te renvoit 0 qui est interpreté comme false...

un dernier conseil a franky : vaut peut etre mieux que tu remette toutes tes string (celle ou tu fait la recherche et celle que tu recherche) en minuscule (avec strtolower(String) ) sinon ca marchera pas...

Titre: Re:Fonction pour vérifier si un chaîne de caractère contient un mot
Posté par: MarvinLeRouge le le 28-08-2006 a 10:52:36

Citation de: tavman le le 27-08-2006 a 18:17:34
Bahh en fait, suffit d'essayer de traduire :

strchr => string search
strpos => string position

et dans la string "comment ca va" si tu recherche "comment" ca te renvoit 0 qui est interpreté comme false...


seulement si tu fais ton test avec ==, pas si tu le fais avec === :)

Titre: Re:Fonction pour vérifier si un chaîne de caractère contient un mot
Posté par: tavman le le 28-08-2006 a 12:59:10

heuuu oui mais si tu fait === de toute facon, tu peut etre sur que ca te renverra jamais true....

if ( strpos() === true ) {}

ca fonctionnera jamais mais effectivement :

if ( strpos() != -1 ) {}

ca reviendra a faire strchr().
En plus, strchr, même pas besoin de mettre ==...

if ( strchr () ) {
}

ca suffit puisque la fonction renvoit déjà un booléen... je dirait même que

if ( strchr() == true ) {}

c'est une grosse faute (que mes profs de prog n'acceptent plus depuis lontemps).

Titre: Re:Fonction pour vérifier si un chaîne de caractère contient un mot
Posté par: MarvinLeRouge le le 29-08-2006 a 10:21:35

OK d'accord, je devais être bien fatigué pour écrire des bêtises pareilles moi.

Ce que je voulais dire pour franky26, c'est que le === false (ou === true) peut servir quand on veut s'assurer que la valeur correspond à la valeur booléenne en question ET qu'elle est du bon type. Exemple : une valeur 0 sera interprétée comme false, mais on la détecte correctement avec un ===, ce qui sert avec certaines fonctions similaires à celles-ci.


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.