PHP – определение пробелов между строками

Как я могу найти пробелы внутри строки? Например, у меня есть строка имени, например:

"Джейн Доу"

Имейте в виду, что я не хочу обрезать или заменять его, просто определить, существует ли пробел между первой и второй строкой.

Используйте 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)); 

Выходы:

 int(1) int(0) int(1) 

Не будет ли preg_match ("/ \ s /", $ string) работать? Преимущество этого над strpos заключается в том, что он обнаружит любые пробелы, а не просто пробелы.

Вы можете проверить только буквенно-цифровые символы, которых нет. Вы также можете сделать strpos для пробела.

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

Вы можете использовать что-то вроде этого:

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

Это обнаружит пробел, но не любые другие пробелы.

http://no.php.net/strpos

 <?php if(strpos('Jane Doe', ' ') > 0) echo 'Including space'; else echo 'Without space'; ?> 
 // 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); } 
 // 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.