PHP Zeichenkette prüfen

Gsus

schwankend^^
ID: 215354
L
22 Mai 2006
1.553
68
Hallo,
wie überprüfe ich, ob eine Zeichenkette aus nur Buchstaben besteht und keine Sonderzeichen oder Zahlen enthält? Also Nur "ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜabcdefghijklmnopqrstuvwxyzäöü" in einem String vorkommen?

mfg
Gsus
 
Am einfachsten per RegExp:
Code:
/^[a-zäöü]*$/i
Musst probieren, ob die großgeschriebenen Umlaute mit dem i-Modifikator auch funktionieren; weiß ich nicht auswendig.
 
Definiere "Sonderzeichen"! ÄÖÜ zählst du anscheinend nicht dazu, aber was ist mit ß? Oder ò, á, ê?
Allzu einfach ist die Sache nicht...
 
Definiere "Sonderzeichen"! ÄÖÜ zählst du anscheinend nicht dazu, aber was ist mit ß? Oder ò, á, ê?
Allzu einfach ist die Sache nicht...
nunja es geht dabei um die validierung von vornamen... mir ist selbst grade aufgefallen,das das mit äöü dabei schwachsinn ist ;) ó wird halt zu o, etc ;)
 
nunja es geht dabei um die validierung von vornamen...
Александр ist kein Vorname?
Bei so einem dämlichen Test würde ich ja schon durchfallen, wenn ich nur Eva-Maria oder Hans-Peter heißen würde.

Wenn du solche Tests auf Webseiten einbaust, wirst du dir keine Freunde machen.

Ich sprech aus Erfahrung: Ich hab neulich in meiner Umgebung über Internets nach einer bestimmten Dienstleistung gesucht. Bei zwei Webseiten konnte ich nicht mal das Kontaktformular benutzen, weil eben solche komischen Tests drin waren, die mir ein Absenden nicht gestatten wollten. Naja, diese Firmen hatten ihre Chance auf einen Auftrag damit schon verspielt gehabt :LOL:

Wenn du also nicht von vornherein schon Besucher vergraulen willst, würd ich dir empfehlen, diese Zeit lieber in Sicherheit zu stecken.
 
Viele Webseiten scheinen ja auch schon Probleme mit ß zu haben. Bei einigen kann ich mich gar nicht anmelden bzw. immer durch ss ersetzen. Bei anderen wird das ß oft einfach als ? o.ä. dargestellt. :roll:
 
Bei anderen wird das ß oft einfach als ? o.ä. dargestellt. :roll:
Das sind Leute, die keine Ahnung von der Zeichenkodierung haben. Wenn man alles mit UTF-8 macht, ist man eigentlich immer auf der sicheren Seite*).

*) Davon abgesehen, dass man intern aufpassen muss, wenn man es mit komischen Zeichen zu tun hat.
PHP:
<?php
// try this code via copy&paste
header("Content-Type: text/plain; charset=UTF-8");

// fails
echo strtolower("AА")."\n";

// works
mb_internal_encoding("UTF-8");
echo mb_strtolower("AА")."\n";
?>
 
Das sind Leute, die keine Ahnung von der Zeichenkodierung haben. Wenn man alles mit UTF-8 macht, ist man eigentlich immer auf der sicheren Seite*).

und das man drauf achten muss, dass man php-intern nur Funktionen nutzt, die sich der UTF-8-Kodierung bewusst sind, und dann hat ganz schnell mal ne 3rd Party Library, die die normalen String-Funktionen nutzt, alles kaputt gemacht.
So einfach ist UTF-8 in PHP nicht.