Как я могу найти пробелы внутри строки? Например, у меня есть строка имени, например:
"Джейн Доу"
Имейте в виду, что я не хочу обрезать или заменять его, просто определите, существует ли пробел между первой и второй строкой.
Как я могу найти пробелы внутри строки? Например, у меня есть строка имени, например:
"Джейн Доу"
Имейте в виду, что я не хочу обрезать или заменять его, просто определите, существует ли пробел между первой и второй строкой.
Используйте 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';
}
Это обнаружит пробел, но не любые другие пробелы.
<?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.