phpbar.de logo

Mailinglisten-Archive

[php] RE: regul ä rer Ausdruck

[php] RE: regul ä rer Ausdruck

Dennis Sterzenbach lists at darknoise.de
Mit Okt 8 00:33:32 CEST 2003


> Argh ertappt... natürlich
>
> if(preg_match('/^[a-z]$/i',$input) {
>    // nur ein wort
> }
>
Hallo zusammen,

hab Dich noch einmal ertappt, Boris:
Deine RegExp prüft leider nur auf einen einzigen Buchstaben.
Denke Du dachtest an folgende Prüfung, oder?:
if (preg_match('/^[a-z]+$/i',$input) {
    // nur ein wort
}

------
Wenn aber -wie Thomas möchte- geprüft werden soll, ob im
String nur ein einzelnes Wort vorkommt, empfehle ich eine
der folgenden Lösungen zu verwenden:

a) angenommen Wörter werden nur durch Leerzeichen getrennt
if (strpos($input, " ") === false) {
    // nur ein wort
}

b) Wörter können durch mehrere Zeichen getrennt werden
$input = "Diesist-ein Test";
$wort_trenner = " -"; // Zeichen die Wörter voneinander trennen
if (strcspn($input, $wort_trenner) == strlen($input)) {
    // nur ein wort
}

Meines Wissens sollten diese Lösungen die schnellsten sein.

Gruß
  Dennis




php::bar PHP Wiki   -   Listenarchive