regulärer Ausdruck
Paul Brunner
- php
0 Cheatah
Hallo,
ich bin etwas ratlos, ob eines regulären Ausdruckes. Der macht einfach nicht was ich will.
Hier ist das Schätzchen:
$pattern=preg_replace("/([a-z0-9]){5}|\b/", "$1?|", $pattern);
Die codezeile soll ein Suchmuster (auch wieder ein regulärer Ausdruck) modifiziern.
Suchmuster Vorher: /daumen|nuff/
Suchmuster Nachher: /daumen?|nuff/ (so sollte es sein)
Idee ist Suchbegriffe innerhalb des Suchmusters, die 5 Zeichen oder länger sind mit einem ? zu versehen. So wird neben "daumen" auch "daume" gefunden.
Leider liefert der der reguläre Ausdruck das zurück: /dn?|nuff/
Und ich habe keinen blassen warum.
Gruß
Paul
Hi,
([a-z0-9])
hier haust Du _ein_ Zeichen in $1,
{5}
und hier möchtest Du $1 fünffach haben. Oder wie ist das zu verstehen?
Leider liefert der der reguläre Ausdruck das zurück: /dn?|nuff/
Und ich habe keinen blassen warum.
Weil das letzte der fünf $1 übrig bleibt.
Cheatah