Comment puis-je utiliser preg_match pour tester des espaces?
Comment puis-je utiliser la fonction PHP preg_match() pour tester une chaîne pour voir si tous les espaces existent?
Exemple
"cette phrase serait testé vrai pour les espaces"
"thisOneWouldTestFalse"
Vous devez vous connecter pour publier un commentaire.
Si vous êtes intéressé dans tout espace blanc (y compris les onglets etc), l'utilisation
\s
si vous êtes simplement intéressé à des espaces, alors vous n'avez même pas besoin d'une regex:
\n
pour un retour à la ligne par exemple). Donc, vous avez pour échapper à la barre oblique (par l'ajout de la seconde ) ainsi que PHP traite comme un littéral de slash. Honnêtement, une meilleure approche est de simplement s'emboîtent les chaînes avec des guillemets simples, sauf si vous avez besoin des fonctionnalités supplémentaires que vous obtenez à partir de guillemets doubles. Donc en bref, vous pouvez utiliser/\s/
aussi longtemps que vous envelopper dans des guillemets simples commepreg_match('/\s/', $myString)
Voir aussi cette question StackOverflow qui porte sur cette question.
Et, en fonction de si vous voulez détecter les onglets et les autres types d'espace blanc, vous voudrez peut-être chercher à l'expression régulière perl syntaxe pour des choses telles que \b \w [:SPACE:]
\b
ne serait probablement pas vous aider, car il permettra de repérer le début et la fin de la chaîne: par exemplepreg_match("/\\b/", "abc")
== trueVous pouvez utiliser:
majuscules- 'S' vais sûrement travailler.
Comment sur l'utilisation de ctype_graph à cette fin? Cela permettrait d'élargir le champ d'application de l'espace à dire tout "l'espace blanc char" qui n'a pas d'imprimer quoi que ce soit visible à l'écran (comme \t, \n ) également.
Cependant, c'est natif et devrait être plus rapide que preg_match.
plus rapide à utiliser:
strstr($string, ' ');
Nous pouvons également vérifier pour les espaces à l'aide de cette expression:
Test
De sortie
Si vous souhaitez simplifier/mise à jour/explorer l'expression, c'est expliqué sur le panneau en haut à droite de regex101.com. Vous pouvez regarder l'appariement de mesures ou de les modifier dans ce débogueur lien, si vous seriez intéressé. Le débogueur démontre que la façon dont un moteur d'expressions régulières pourraient étape par étape de consommer quelques exemples de chaînes d'entrée et effectuer le processus d'appariement.