Регулярное выражение, вероятно, будет проще. Вам не хватает некоторых персонажей, которых вы не хотите разрешать. Также было бы легче написать это с in_array
.
if (in_array($name_first_character, array('.', '-', ' ', '_'))) {
return FALSE;
}
Демо: https://3v4l.org/SGM4T
Регулярное выражение может быть:
if (preg_match('/^[-._ ]/', $name)) {
return FALSE;
}
Демо: https://3v4l.org/cu6vi
Пробел в классе символов можно заменить на \s
, если вы хотите запретить любой тип пробела.
^
начало строки
[]
создает класс символов и допускает любой 1 из символов внутри него. Если используется -
, а не в начале или в конце, это создаст диапазон. Например, 1-9
будет числами от 1 до 9.