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 — Auf Buchstabe(n) überprüfen
Gibt true
zurück, wenn alle Zeichen in text
Buchstaben im Sinne der aktuellen locale-Einstellung sind. Anderenfalls
wird false
zurückgegeben.
In der Standardeinstellung für locale C
gelten nur
[A-Za-z]
als Buchstaben und
ctype_alpha() ist gleichbedeutend zu
(ctype_upper($text) || ctype_lower($text))
, wenn
$text nur ein Zeichen enthält.
Es gibt jedoch auch Sprachen, in denen einzelne Buchstaben weder als
groß- noch als kleingeschrieben gelten.
text
Der zu prüfende String.
Hinweis:
Wenn ein int zwischen -128 und 255 (inklusive) übergeben wird, wird dieser als ASCII-Wert eines einzelnen Buchstabens interpretiert (zu negativen Werten wird 256 dazu addiert, um Buchstaben des erweiterten ASCII-Zeichensatzes zu erlauben). Alle anderen Integer werden wie eine Zeichenkette interpretiert, welche die dezimalen Ziffern des Integers enthält.
Liefert true
wenn jedes Zeichen in text
ein Buchstabe ist, sonst false
.
Beispiel #1 ctype_alpha()-Beispiel (standard-locale vorausgesetzt)
<?php
$strings = array('KjgWZC', 'arf12');
foreach ($strings as $testcase) {
if (ctype_alpha($testcase)) {
echo "Der String $testcase besteht nur aus Buchstaben.\n";
} else {
echo "Der String $testcase enthält nicht nur Buchstaben.\n";
}
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Der String KjgWZC besteht nur aus Buchstaben. Der String arf12 enthält nicht nur Buchstaben.