PHP - 检测字符串之间的空格

时间:2009-07-21 20:58:14

标签: php regex whitespace

我如何检测字符串中的空格?例如,我有一个名称字符串,如:

“Jane Doe”

请记住,我不想修剪或替换它,只检测第一个和第二个字符串之间是否存在空格。

7 个答案:

答案 0 :(得分:76)

按照Josh的建议使用preg_match:

<?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)

答案 1 :(得分:8)

您只能检查字母数字字符,而空格不是。你也可以为空间做一个strpos。

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

答案 2 :(得分:8)

preg_match("/\s/",$string)不会有效吗? strpos的优势在于它可以检测到任何空格,而不仅仅是空格。

答案 3 :(得分:5)

您可以使用以下内容:

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

这将检测一个空格,但不会检测任何其他类型的空格。

答案 4 :(得分:0)

http://no.php.net/strpos

<?php
if(strpos('Jane Doe', ' ') > 0)
    echo 'Including space';
else
    echo 'Without space';
?>

答案 5 :(得分:0)

// 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);
}

答案 6 :(得分:0)

// 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.