Mailinglisten-Archive |
Hi, On Wed, Jan 03, 2007 at 07:52:21PM +0100, Niels Jäckel wrote: > > > Ok , dann brauchst du RegEx. Versuch es mal so in der Art: [..] > das wird so sicher nicht funktionieren: Es funktionert auf alle genannten Beispiele und sollte auch nur ein Ansatz zum weitermachen sein... > 1. '([^' . $del_end . ']*' funktioniert nur, wenn der Delimiter aus > genau einem Zeichen besteht. Nein. Das "unsaubere" ist, dass es nicht genau der Delimiter sein muss, sondern keines der Zeichen sein darf, aber siehe oben sollte als Ansatz dienen. > Wenn du allerdings o.g. Delimiter da in die > Zeichenklasse setzt, heißt das, dass keins der Zeichen des Delimiters > vorkommen darf. Die RegEx würde also schon bei z.b. < zuschlagen. Das stimmt, aber siehe oben... > 2. Die eingesetzen Teile müstten alle mit preg_quote() vorbereitet > werden um Steuerzeichen zu escapen. Wenn die eingesetzten Teile aus Usereingaben oder externen Quellen kommen ja, wenn ich sie selber schreibe, nunja. > 3. Selbst wenn das Pattern von 1. so funktionieren würde, hättest du > nichts in der Hand, wenn Delimiters verschachtelt werden. Aus Alex' > letztem Beispiel entnehme ich, dass dies durchaus der Fall sein kann. Das ist (mir) klar, davon hat aber auch keiner was gesagt. > Allerdings ist ein Algorithmus, der das tut, was ich glaube verstanden > zu haben, nicht trivial. Ein wichtiges Kriterium ist z.B. ob man sich > immer auf Wohlgeformtheit verlassen kann, d.h. nach jedem <&> kommt auch > ein <%>. Da hast du recht, aber davon war auch nicht die Rede. Alex hatte als Aufgabe formuliert lediglich zu pruefen ob sein Suchwort innerhalb seiner Delimiter vorkommt oder nicht. Gruss Jens
php::bar PHP Wiki - Listenarchive