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"
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)
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:]
Vous pouvez utiliser:
preg_match('/[\s]+/',.....)
[\\S]
les majuscules - "S" fonctionneront sûrement.
plus rapide à utiliser:
strstr($string, ' ');
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" ;