Seite 1 von 1

Frage zu preg_replace

Verfasst: 09.10.2007 18:26
von UGC
Hallo, ich wollte mal fragen, ob der TEil in preg_replace (.?*) für ganze Sätze genommen werden kann, oder nur für ein Wort, bzw. eine Zusammenhängede Buchstabenkombination.

Edit: wenn man vor einen zu suchenden Tag (.?*) stehen hat, muss dort dann etwas sein?

Verfasst: 09.10.2007 22:11
von fanrpg
(.?*) geht schonmal gar nicht :P Wenn dann (.*?)

Zur Erklärung:
. steht für ein beliebiges Zeichen
* steht dafür, wie viel es sein dürfen, und zwar für 0 Zeichen oder beliebig viele mehr
? begrenzt die suche bzw. macht das jenes Muster nicht mehr gierig ist, sprich wenn (.*?)< da steht bricht er beim ersten gefunden < ab. Ansonsten beim Letztem.

Wenn du anstatt (.*?) das (.+?) schreibst, heisst es suche min 1 Zeichen und beliebig viele mehr.

(.*?) = Findet alles, auch nix
(.+?) = Findet es nur wenn min. 1 Zeichen da exestiert
([a-z]+) = Findet alle kleingeschrieben Buchstaben*
([A-Z]+) = Findet alle grossgeschriebenen Buchstaben*
([a-zA-Z]+) = Findet alle Buchstaben*
([a-zöäüß]+) = Findet alle kleingeschrieben Buchstaben + ö, ä, ü und ß
([0-9]+) = Findet alle Zahlen
([0-9]{1,2}) = Findet zwei oder eine belibiege Zahl
([0-9]{,2}) = Findet zwei Zahlen
([0-9]{2,}) = Findet min. 2 Zahlen und beliebig viele mehr.
([0-9a-zA-Z]{2,8}) = Findet min. 2 maximal 8 Zeichen, welche nur aus Buchstaben und Zahlen bestehen dürfen.

* = ohne Sonderzeichen

Das sollte als kleine Hilfe reichen.
Ansonsten: http://de.wikipedia.org/wiki/Regulärer_Ausdruck

Verfasst: 10.10.2007 13:17
von UGC
danke