Mailinglisten-Archive |
On 22.09.2009 12:06, Tim wrote: > Hallo Sebastian, > > danke für Deine Antwort. > > > >>> also statt [a-z_]* so [a-z_]+ >>> >>> bekomme ich nur den ersten Buchstaben des jeweiligen Feldes. Also >> hier >>> "l". Was mich wundert, denn ich dachte, dass das + bedeutet, dass >>> mindestens ein oder mehr Zeichen gefunden werden. Mehr wundert >> mich, >>> dass es mit dem Sternchen gar nicht klappt. >>> >>> Vielleicht habt ihr ja eine Idee? >> >> * bedeutet 0 oder mehr, also optional >> + bedeutet 1 oder mehr, also indestens 1 > > Genau so hatte ich das auch verstanden, war vielleicht etwas blöd > ausgedrückt von mir. naja, und so bald die Bedingung erfüllt ist hört er auf, das ist nunmal bei * sofort und bei + nach dem ersten Zeichen >> und beides ist ja erfüllt, das + nach dem ersten Zeichen und das * >> sofort >> >> du musst genau sagen bso wohin das gehen soll, z. B.: >> >> <span[^>]+"my-field--([a-z_]+)" > > > Ich verstehe nicht genau, was Du mit den Anführungszeichen bezwecken > möchtest. Problematisch ist dann auch, dass z.B. der Internet Explorer > im editierbaren IFRAME hingeht und die Anführungszeichen entfernt. Der > SPAN sieht dann so aus: > > <span class=my-field--lastname>[Nachname]</span> > > Demnach weiß ich nicht, was nach der gesuchten Buchstabengruppe kommt. > Entweder die schließende spitze Klammer, oder ein Anführungszeichen bzw. > das doppelte Anführungszeichen oder eben noch weitere Einstellungen für > den SPAN wie id, style etc. dann eben so: <span[^>]+my-field--([a-z_]+)[\s">]+ > <span class=my-field--lastname>[Nachname]</span> > |-----------------| > > Daher dachte ich mir es wäre sinnvoll, nach der gesuchten > Buchstabengruppe alles als gültig zu markieren, was bis zum schließenden > SPAN geht (siehe Markierung). ja, das passt ja auch, deshalb findet er ja auch was, deine Klammer ist nur falsch, denn * bedeutet optional und das ist sofort erfüllt, also geht es außerhalb der Klammer mit dineem .* weiter, was alles bis "</span>" einschließt > Was ich halt nicht verstehe ist, dass es im RegexCoach klappt und in PHP > nicht. greedy und ungreedy ^^ such mal danach -- Sebastian Mendel
php::bar PHP Wiki - Listenarchive