web-dev-qa-db-fra.com

PHP chaîne "contient"

Duplicate possible:
Comment puis-je vérifier si un mot est contenu dans une autre chaîne en utilisant PHP?

Quel serait le moyen le plus efficace de vérifier si une chaîne contient un "." ou pas?

Je sais que vous pouvez le faire de différentes manières, comme avec expressions régulières ou parcourir la chaîne pour voir si elle contient un point (".").

173
ealeon
if (strpos($str, '.') !== FALSE)
{
 echo 'Found it';
}
else
{
 echo 'Not found.';
}

Notez que vous devez comparer avec l'opérateur !==. Si vous utilisez != ou <> et que le '.' se trouve à la position 0, hé! 0 compare égal à FALSE et vous perdez. Cela vous fera pointer un site Web de production vers une base de données de développement au cours du week-end, ce qui vous causera une joie sans fin lorsque vous reviendrez lundi.

489
akatakritos

Vous pouvez utiliser ces fonctions de chaîne,

strstr - Trouve la première occurrence d'une chaîne

stristr - strstr () non sensible à la casse

strrchr - Trouve la dernière occurrence d'un caractère dans une chaîne

strpos - Recherche la position de la première occurrence d'une sous-chaîne dans une chaîne

strpbrk - Recherche dans une chaîne l'un quelconque des caractères

Si cela ne vous aide pas, vous devriez utiliser preg expression régulière

preg_match - Effectue une correspondance d'expression régulière

65
Muthu Kumaran

Vous pouvez utiliser stristr() ou strpos(). Les deux retourne faux si rien n'est trouvé.

7
Sylverdrag