Regex nur Buchstaben mit PHP
Ich versuche zum erstellen eines regex, die erkennt, ob ein string nur aus Buchstaben, die in es. Kann mir jemand sagen ob der folgende code ist das richtig?
$text = "asdsad";
if (ereg('[^A-Za-z]', $text)) {
echo "More then letters";
}
else {
echo "only letters";
}
- Was ist Ihre Frage? Ich verstehe nicht, Ihren ersten Satz.
- Russell, beachten Sie, dass die person kann nicht Englisch als Ihre erste Sprache.
- Es ist durchaus akzeptabel zu behaupten, dass Sie nicht verstehen, die nur einen Satz in der Frage...
- stimmt, aber wenn andere die Verwaltung, Antworten zu geben, die offensichtlich die Frage verstanden werden KANN. Also, wenn wir als Gemeinschaft gehen, um den Menschen helfen, wir müssen Rücksicht auf diejenigen, die Englisch lernen, genauso wie wir vielleicht Rücksicht von denen zu lernen (sagen) PHP.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Bedingung wird zu true ausgewertet,, wenn es das ist was du gemeint hast.
Sie wollen, stellen Sie sicher, dass eine Zeichenfolge Buchstaben nur???
Versuchen, diese...
Sehen Sie auf ideone.
So können Sie ein paar Dinge zu verstehen...
ereg()
ist veraltet und ab PHP 5.3. Aufhören, es zu benutzen, und verwenden Siepreg_match()
.preg_match()
, müssen Sie einen regex-Begrenzer. Die meisten regex-Aromen verwenden/
, aber PHP können Sie die meisten passenden paar chars, z.B.~
Update
Testfälle.
PHP
- Ausgang
preg_match('/^\pL+$/u', $text)
?u
modifier, also ich weiß nicht. Wer?^\pL+\s+\pL+$
--- مصطفى احمد --> true , مصطفى --> false, Dasselbe für andere Sprachen ..Einer besseren Lösung, die nicht mit regulären Ausdruck zu verwenden ctype_alpha
http://au2.php.net/manual/en/function.ctype-alpha.php
Solange mit dem aktuellen Gebietsschema nicht nur vorausgesetzt, das alphabet ist a-zA-Z, geeignet ist.