Zitat:
|
Zitat von webmichl
Versuchs mal mit
PHP-Code:
$ausgabe = preg_replace("/([^<]*)($suchbegriff)([^>]*)/i","\\1<span class=\"marked\">\\2</span>\\3",$eintrag);
|
Hallo webmichl,
ich muß Dich nochmal auf eine RegEx ansprechen, die schon lange her ist. Du hattest mir damals die Lösung genannt und ich hab geschrieben, daß sie funktioniert. Das war auch so, daß weiß ich. Jetzt funktioniert es leider nicht mehr und ich verstehe so gar nicht warum das so ist.
Kannst Du mir bitte nochmal helfen?
--------------------------------------------------------------------------
Folgende Situation:
In einem Formularfeld wird der Suchbegriff "fahr" eingegeben.
Der passende Eintrag (es geht um ein Fahrrad) wird aus der Datenbank (mySQL) rausgesucht.
Jetzt soll aber natürlich der Suchbegriff auch farblich markiert werden. Egal ob er alleine steht oder innerhalb von anderen Zeichen und natürlich case insensitive.
Leider aber auch bei <img src="...fahr...">
Das soll natürlich nicht. Das bild des Fahrrades soll natürlich normal angezeigt werden.
Wie kriege ich hin, daß nur Zeichen umgewandelt werden sollen, die nicht innerhalb von <... > stehen (bei Links soll das ja auch nicht passieren)?
------------------------------------------------------------------------------
Du hattest mir damals folgendes genannt:
$ausgabe = preg_replace("/([^<]*)($suchbegriff)([^>]*)/i","\\1<span class=\"marked\">\\2</span>\\3",$eintrag);
Genau so steht es in meiner Datei. Es werden aber dennoch Bilder zerschossen.