Hi Andü,
Ich versuche in einem HTML-Quelltext nach allen Vorkommen, von einem bestimmtem Suchmuster zu suchen und diesen dann durch eine Markierung hervorzuheben. Logischerweise möchte ich nicht, dass HTML-Tags davon in Mitleidenschaft gezogen werden.
HTML Tags würde doch eigentlich nur dann in Mitleidenschaft gezogen, wenn jemand z.B. "span" als Suchbegriff angibt, richtig?
Mein bisheriges Suchmuster ist folgendes:
preg_replace ("#(^<*)($suchbegriff)(^>*)#","<span style='background-color: #FB6615; color: #FFFFFF;'> $2 </span>",$text);
Doch damit funktioniert es nicht so wie ich mir das vorstell!
[x] Du möchtest uns eine genauere Fehlerbeschreibung liefern.
Mal überlegen - vor dem Suchbegriff darf kein < stehen ohne von einem > gefolgt zu werden. Wenn das klar gestellt ist, muss man eigentlich nach dem Suchbegriff gar nicht mehr weiter kontrollieren (vorrausgesetzt du hast schon länst kontrolliert, dass im Suchbegriff keine < und > enthalten sind).
Um das richtig[tm] intelligent umzusetzten müsste man das wohl mit Conditional Subpatterns umsetzen.
Es würde aber vielleicht auch reichen, wenn man nur prüft, ob davor ein > kommt und danach kein < mehr:
#>[^<]*($suchbegriff)#
Probier mal ein bisschen rum.
MfG, Dennis.
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Mit Gesetzen ist es wie mit Würstchen - es ist besser, wenn man nicht weiß, wie sie gemacht werden. (Otto v. Bismarck)