Mailinglisten-Archive |
Tim Hildebrandt wrote: > Hallo Reinhold, > > >> Aber wenn Du schon mal am Suchen bist - was findest Du bei "Wein"? >> Nur "Wein",oder auch "Rotwein"? Findest Du dann auch >> "Schweinefleisch"...? > > Es sollte eigentlich nur immer der Teil ausgetauscht werden, der > tatsächlich im Suchformular eingegeben wurde. So, wie Alex das in seiner > anderen Mail vorgeschlagen hat, werde ich es mal ausprobieren. Also im > Ergebnis: > > Rot<b>wein</b> > > So, wie es im Text vorkam. > > Bei Sch<b>wein</b>efleich hat der Benutzer zwar auch einen Treffer, aber > da kann man dann halt nix machen. Wie da kann man nix machen?? Du bist Programmierer, du musst nur kreativ sein. Es gab hier demletzt mal den Thread "Treffer mit Regex erweitern", wo das Thema schonmal so in die Richtung ging (einfach mal den Thread rauskramen...). Eine Lösung wäre: $pattern='/(?<=[^a-z0-9üöäÜÖÄß]|\A)[a-z0-9üöäÜÖÄß]*'.$such.'[a-z0-9üöäÜÖÄß]*(?=[^a-z0-9üöäÜÖÄß]|\Z)/i'; Die Lösung ist natürlich unvollständig (hartkodierte Umlaute etc.), aber ich bin sicher, dass du das Beispiel an deine Bedürfnisse anpassen kannst, wenn du verhindern möchtest, dass Buchstabenkombinationen mitten im Wort gefunden werden. Es sei denn natürlich, die willst beim Suchwort "wein" zwar nicht "Schweinefleich" aber sehr wohl "Rotweinprobe" finden. Dann wird's kompliziert ;-). > > >> Gruß, Reinhold > > > Grüße > Tim Yannik >
php::bar PHP Wiki - Listenarchive