phpbar.de logo

Mailinglisten-Archive

[php] preg_replace in Suchergebnis

[php] preg_replace in Suchergebnis

Yannik Hampe yannik at cipher-code.de
Mon Feb 18 21:04:38 CET 2008



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