Come usare preg_match per verificare gli spazi?
-
21-09-2019 - |
Domanda
come faccio a utilizzare la funzione PHP preg_match () per testare una stringa per vedere se esistono spazi?
Esempio
"questa frase sarebbe essere testato vero per gli spazi"
"thisOneWouldTestFalse"
Soluzione
Se siete interessati a qualsiasi spazio bianco (tra cui schede, ecc), l'uso \s
if (preg_match("/\\s/", $myString)) {
// there are spaces
}
se siete solo interessati a spazi, allora non avrete nemmeno bisogno di un'espressione regolare:
if (strpos($myString, " ") !== false)
Altri suggerimenti
Si veda anche questa domanda StackOverflow che risolve questo.
E, a seconda se si desidera rilevare le schede e altri tipi di spazio bianco, si consiglia di guardare il normale sintassi delle espressioni Perl per cose come \ b \ w e [: space:]
È possibile utilizzare:
preg_match('/[\s]+/',.....)
[\\S]
caso- superiori 'S' sicuramente funzionerà.
Come sull'utilizzo ctype_graph per questo scopo? Ciò ampliare la portata di spazio per qualsiasi "spazio bianco char" che non stampa nulla visibile sullo schermo (come \ t, \ n) anche. Tuttavia questo è nativo e dovrebbe essere più veloce di preg_match.
$x = "string\twith\tspaces" ;
if(ctype_graph($x))
echo "\n string has no white spaces" ;
else
echo "\n string has spaces" ;
più veloce da usare:
strstr($string, ' ');