Mailinglisten-Archive |
Christian Schäfer wrote: > hallo liste, > > das übliche, da braucht man schnell man einen ausdruck und der will > nicht ganz gelingen.. > > "^[^#][ \t]*([^= \t]+)[ \t]*=[ \t]*([^= \t\n]+)[ \t]*\n$" ^\s*(?<!#)\s*([^=\s]+)\s*=\s*(.+)$ \s match alle whitespaces ausser \n und \r (?<!#) ist ein lookbehind pattern, welches besagt, dass kein # vor dem pattern auftauchen darf. deine variante sagt ja nur, dass das es ein zeichen AUSSER # sein muss, nicht, dass es davor nicht auftauchen darf. > ach: und falls noch jemand einen tipp hat, wie ich in den werte auch > spaces und tabulatoren zulassen kann, wenn sie in anführungszweichen > stehen, wäre ich ebenfalls dankbar, danke! nach dem oberen ist das zeilenende das ende des wertes. dadurch koennen auch whitespaces im wert auftauchen. man koennte auch \s in ([^=\s]+) weglassen, und macht dann auf die matches ein trim() um unnoetige spaces zu entfernen. vielleicht noch debuggen. habs nicht getestet... thomas
php::bar PHP Wiki - Listenarchive