preg_match(), bitte um hilfe
daniel
- php
0 Julian Hofmann0 daniel0 Henryk Plötz
hallo an alle
ich habe mich mal kurz mit der preg_match() funktion befasst und habe nirgends gefunden wie man einen zeichenbereich und gleichzeitig bestimmte zeichen in einem string zulassen kann
probiert habe ich es mit diesem suchmuster:(zugelassen sind die zeichen "1234567890/+-")
if(preg_match("/[1]+$/",$_POST["telefon"])==1)
{
echo "Telefon: Suchmuster ist RICHTIG!<br><br>";
}
else
{
echo "Telefon: Suchmuster ist FALSCH!<br><br>";
}
bekomme aber einen fehler (Warning: Unknown modifier '+' in... )
darf denn das "+" zeichen nicht im suchstring vorkommen, muss man das escapen?
grüsse,
daniel
0-9/+- ↩︎
Hallo.
Slash ist ein Sonderzeichen innerhalb von Regulären Ausdrücken und muss maskiert werden.
if(preg_match("/[1]+$/",$_POST["telefon"])==1)
^^^
Grüße aus Würzburg
Julian
0-9/+- ↩︎
hallo julian
Danke, funktioniert genau so wie es sollte :)
grüsse,
daniel
Moin,
Slash ist ein Sonderzeichen innerhalb von Regulären Ausdrücken
Nicht zwingend. Das Zeichen in das man den Ausdruck einschließt ist ein Sonderzeichen und muß maskiert werden, das muß aber nicht unbedingt ein Slash sein. Speziell weil viele / richtig unschön sind (da gab' es auch noch einen Namen für, der ist mir grade entfallen), nimmt man dann lieber ein anderes Zeichen. Ich zum Beispiel finde das Ausrufezeichen sympathisch:
preg_match("![1]+$!",$_POST["telefon"])
0-9/+- ↩︎