web-dev-qa-db-fra.com

PHP - détecter les espaces entre les chaînes

Comment pourrais-je détecter les espaces dans une chaîne? Par exemple, j'ai une chaîne de noms comme:

"Jane Doe"

N'oubliez pas que je ne veux ni le rogner ni le remplacer, mais simplement détecter s'il existe un espace entre la première et la deuxième chaîne.

29
lackingpregmatch

Utilisez preg_match comme suggéré par Josh:

<?php

$foo = "Dave Smith";
$bar = "SamSpade";
$baz = "Dave\t\t\tSmith";

var_dump(preg_match('/\s/',$foo));
var_dump(preg_match('/\s/',$bar));
var_dump(preg_match('/\s/',$baz));

Ouputs:

int(1)
int(0)
int(1)
77
hobodave

preg_match ("/\s /", $ string) ne fonctionnerait-il pas? L'avantage de ceci sur les strpos est qu'il détectera tous les espaces, pas seulement les espaces.

8
Josh

Vous pouvez vérifier uniquement les caractères alphanumériques, ce qui n'est pas le cas. Vous pouvez également faire une strpos pour un espace.

if(strpos($string, " ") !== false)
{
   // error
}
8
Tyler Carter

Vous pouvez utiliser quelque chose comme ceci:

if (strpos($r, ' ') > 0) {
    echo 'A white space exists between the string';
}
else
{
    echo 'There is no white space in the string';
}

Cela détectera un espace, mais pas tout autre type d’espace.

5
gurjeet kj

http://no.php.net/strpos

<?php
if(strpos('Jane Doe', ' ') > 0)
    echo 'Including space';
else
    echo 'Without space';
?>
0
ThoKra
// returns no. of matches if $str has nothing but alphabets,digits and spaces.
function is_alnumspace($str){
  return preg_match('/^[a-z0-9 ]+$/i',$str);
}
0
Rachel
// returns no. of matches if $str has nothing but alphabets,digits and spaces. function 

    is_alnumspace($str) {
          return preg_match('/^[A-Za-z0-9 ]+$/i',$str);
    }

// This variation allows uppercase and lowercase letters.
0
Interesting Articles