web-dev-qa-db-fra.com

Comment utiliser preg_match pour tester les espaces?

Comment utiliser la fonction php preg_match () pour tester une chaîne pour voir s'il existe des espaces?

exemple

"cette phrase serait vérifiée pour les espaces"

"thisOneWouldTestFalse"

26
kylex

Si vous êtes intéressé par un espace blanc (y compris les tabulations, etc.), utilisez \s

if (preg_match("/\\s/", $myString)) {
   // there are spaces
}

si vous êtes juste intéressé par les espaces, vous n'avez même pas besoin d'une expression régulière:

if (strpos($myString, " ") !== false)
48
nickf

Voir aussi cette question StackOverflow qui résout ce problème.

Et, selon que vous souhaitez détecter des tabulations et d'autres types d'espaces blancs, vous souhaiterez peut-être consulter la syntaxe d'expression régulière Perl pour des éléments tels que\b\w et [: SPACE:]

4
JYelton

Vous pouvez utiliser:

preg_match('/[\s]+/',.....)
1
Nagy Zoltan
[\\S]

les majuscules - "S" fonctionneront sûrement.

0
Avi C

plus rapide à utiliser:

strstr($string, ' ');

0
danielpopa

Que diriez-vous d'utiliser ctype_graph à cet effet? Cela élargirait la portée de l'espace pour signifier tout "caractère d'espace blanc" qui n'imprime rien de visible à l'écran (comme\t,\n) également. Cependant, c'est natif et devrait être plus rapide que preg_match.

$x = "string\twith\tspaces" ;
if(ctype_graph($x))
    echo "\n string has no white spaces" ;
else
    echo "\n string has spaces" ;
0
rjha94