It works if you set the locale correctly:
<?php
setLocale(LC_CTYPE, 'FR_fr.UTF-8');
?>
with this change you will get "yes" "yes"
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ctype_alpha — Проверяет наличие буквенных символов
Проверяет, все ли символы в переданной строке
text
являются буквенными.
В стандартной локали C
буквами являются только
[A-Za-z]
и ctype_alpha()
эквивалентна (ctype_upper($text) || ctype_lower($text))
,
если $text состоит всего из одного символа, но в других языках есть буквы, которые
не считаются ни верхним, ни нижним регистром.
text
Проверяемая строка.
Замечание:
Если передано целое число (int) в диапазоне между -128 и 255 включительно, то оно будет обработано как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256 для возможности представления символов из расширенного диапазона ASCII). Любое другое целое число будет обработано как строка, содержащая десятичные цифры этого числа.
Возвращает true
, если каждый символ в строке text
является буквой из текущей локали, false
в противном случае.
Пример #1 Пример использования ctype_alpha() (с использованием локали по умолчанию)
<?php
$strings = array('KjgWZC', 'arf12');
foreach ($strings as $testcase) {
if (ctype_alpha($testcase)) {
echo "Строка $testcase состоит только из букв.\n";
} else {
echo "Строка $testcase состоит не только из букв.\n";
}
}
?>
Результат выполнения данного примера:
Строка KjgWZC состоит только из букв. Строка arf12 состоит не только из букв.