PHP Regex проверяет буквы и испанский акцент

Как я могу добавить / импровизировать мой код, поэтому испанский акцент будет считаться действительным в дополнение к нормальному алфавиту (az)

В моем коде есть следующее:

public static function IsAlpha($s){ $reg = "#[^az\s-]#i"; $count = preg_match($reg, $s, $matches); return $count == 0; } 

Как найдено в ответе на этот вопрос , вы можете сопоставить символы с акцентом, используя полное свойство Letter Unicode \p{L} . Это включает в себя регулярные символы az наряду с акцентированными, поэтому замените az в своем выражении следующим образом:

 $reg = "#[^\p{L}\s-]#u"; 

Обратите внимание, что для использования этого вам понадобится модификатор UTF-8 u после вашего закрывающего разделителя, поскольку документы говорят, что такие типы символов Unicode доступны, когда выбран режим UTF-8 .

Я думаю, вы можете использовать шестнадцатеричное представление каждой буквы:

 <?php function IsAlpha($sString) { $reg = "#[a-zA-Z\xE1\xE9\xED\xF3\xFA\xC1\xC9\xCD\xD3\xDA\xF1\xD1]+#i"; $count = preg_match_all($reg, $sString, $matches, PREG_OFFSET_CAPTURE); return $matches; } echo '<pre>'; print_r(IsAlpha("abcdefgh ñ á é í ño 123 asd asáéío nmas asllsdasd óúfl ÑABDJÓ ÚñÍÉ")); echo '</pre>'; 

Я не знаю, есть ли все письма, но вы можете добавить больше с помощью этой ссылки .