Comment utiliser preg match pour tester les espaces?

comment utiliser la fonction php preg_match() pour tester une chaîne de caractères pour voir s'il existe des espaces?

exemple

"cette phrase serait testé vrai pour les espaces"

" thisOneWouldTestFalse "

25
demandé sur kylex 2009-09-06 09:45:47

6 réponses

si vous êtes intéressé par un espace blanc (y compris les onglets, etc), Utilisez \s

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

si vous êtes seulement intéressé par les espaces, vous n'avez même pas besoin d'un regex:

if (strpos($myString, " ") !== false)
47
répondu nickf 2010-08-17 04:40:28

Voir aussi cette question sur le débordement des piles qui traite de cette question.

et, selon que vous voulez détecter des onglets et d'autres types d'espace blanc, vous pouvez vouloir regarder la syntaxe d'expression régulière perl pour des choses telles que \b \w et [: SPACE:]

4
répondu JYelton 2017-05-23 12:01:59
[\S]

majuscule - 'S' marchera sûrement.

0
répondu Avi C 2011-02-11 18:18:50

Que Diriez-vous d'utiliser ctype_graph à cette fin? Cela élargirait la portée de l'espace pour signifier n'importe quel "blanc espace char" qui n'imprime rien visible sur l'écran (comme \t, \N ) aussi. 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
répondu rjha94 2011-12-28 11:07:37

vous pouvez utiliser:

preg_match('/[\s]+/',.....)
0
répondu Nagy Zoltan 2012-02-24 19:04:35

plus rapide à utiliser:

strstr($string, ' ');

0
répondu danielpopa 2012-06-13 12:26:09