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

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

"Jane Doe"

gardez à l'esprit que je ne veux pas couper ou remplacer, il suffit de détecter si l'espace existe entre la première et la deuxième chaîne.

29
demandé sur Michael Myers 2009-07-22 00:58:14

7 réponses

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)
76
répondu hobodave 2009-07-21 21:07:19

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

8
répondu Josh 2009-07-21 21:09:06

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

if(strpos($string, " ") !== false)
{
   // error
}
8
répondu Tyler Carter 2009-07-21 21:25:06

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 n'importe quel autre type d'espace.

5
répondu gurjeet kj 2015-07-29 04:20:14

http://no.php.net/strpos

<?php
if(strpos('Jane Doe', ' ') > 0)
    echo 'Including space';
else
    echo 'Without space';
?>
0
répondu ThoKra 2009-07-21 21:01:36
// 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
répondu Rachel 2010-03-16 15:12:00
// 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
répondu Interesting Articles 2011-12-14 09:43:52