Zeichenkette auf bestimmte Begriffe hin prüfen
Alexander
- php
0 Dennis Plöger0 Julian Hofmann0 Andreas0 Andreas
Hallo,
ich weiss, das man mit Javascript z. B. eine Emailadresse auf nicht erlaubte Zeichen prüfen kann.
Kann man das in PHP auch? Ich habe eine Variable, die ich darauf prüfen möchte, ob direkt am Anfang eine bestimmte Kombination aus 4 Buchstaben vorkommt. Wie geht das?
Viele Grüße
Alexander
Hallo Alexander!
Da würd ich mal in der PHP-Doku schaun. (www.php.net)
Es gibt grundsätzlich verschiedene Möglichkeiten:
erstens per RegExp. Das ist das Beste, brauch aber auch am Meisten Einarbeitungszeit. (Beispiele sind u.a. auch in SelfHTML vorhanden)
die Funktion für php heisst dann
ereg zum Suchen, bzw ereg_replace zum Tauschen
zweitens simpel per Stringsuche und Stringkopieren.
Die Funktionen heissen:
strpos - Sucht nach Vorkommen in einem String
substr - Gibt Teile eines Strings aus
Hope that helps.
Bis denne,
Dennis
Hallo zusammen,
vielen Dank! Das hat super gepasst - ich hatte zwar schon auf php.net gesucht, aber einfach nicht nach dem richtigen Begriff ;-)
Meine Lösung (Beispiel) sieht jetzt so aus:
$notallowed = substr ($thestring,0, 4); // gibt die ersten 4 Zeichen zurueck
if (preg_match ("/EINS/i", $notallowed)) {
print ('Fehler');
}
elseif (preg_match ("/ZWEI/i", $notallowed)) {
print ('Fehler');
}
else{
print ('kein Fehler');
}
Noch Ideen? Kann man das noch "besser" machen?
Gruß und danke
Alexander
Hi!
if (preg_match ("/EINS/i", $notallowed)) {
print ('Fehler');
}
elseif (preg_match ("/ZWEI/i", $notallowed)) {
print ('Fehler');
}
else{
print ('kein Fehler');
}
Noch Ideen? Kann man das noch "besser" machen?
Du kannst durch ^ noch dafür sorgen, dass EINS bzw. ZWEI am Anfang des Strings vorkommen müssen, damit der Reguläre Ausdruck TRUE zurückgibt, also
preg_match ("/^EINS/i", $notallowed)
Grüße
Andreas
Hey.
Also, ich kann das
$notallowed = substr ($thestring,0, 4); // gibt die ersten 4 Zeichen zurueck
damit ersetzen, indem ich ein ^ an den Anfang des Ausschlußbegriffes setze? Richtig verstanden?
Danke und Gruß
Alexander
Hi!
Ja, theoretisch schon, kannst Du ja einfach testen ;-)
http://www.php.net/manual/de/pcre.pattern.syntax.php
(leider nur in englisch)
Grüße
Andreas
Hallo Alexander,
klar ist das mit PHP auch möglich. Die Funktionen ereg bzw. eregi in Verbindung mit regulären Ausdrücken machen fast alles möglich.
http://www.php3.de/manual/de/function.ereg.php
http://www.php3.de/manual/de/function.eregi.php
Grüße aus Würzburg
Julian
Hi
Ich bin zwar kein Held in Regulären Ausdrücken, aber vielleicht funktionierrt es ja:
if(eregi ("^vier*",$string)) {
// wenn der String mit den Buchstaben v i e r anfängt ist alls OK
}
Ich hoffe das stimmt so :-)
Grüße
Andreas
Wo ich gearde nochmal drüber gucke:
if(eregi ("^vier*",$string)) {
^
Der Stern bedeutet "das was davor steht 0 - unendlich mal wiedeholen", also in diesem Fall Schwachsinn!
eregi ("^vier",$string)
sollte da reichen!
Grüße
Andreas