Suchergebnisse hervorheben
Matthias Apsel
- php
Om nah hoo pez nyeetz, alle!
Ich suche in einer sqlite-DB mit dem Suchbegriff, sagen wir "berlin". In der Datenbank gibt es "Berliner Bär".
Da die Suche case-insensitiv ist, wird "Berliner Bär" gefunden.
Ich zeige die Ergebnisse an und möchte den Suchbegriff hervorheben, resultierend in "<b>Berlin</b>er Bär
".
3 Möglichkeiten:
str_replace ('berlin', '<b>berlin</b>', 'Berliner Bär')
findet den Suchbegriff nicht, logisch
str_ireplace ('berlin', '<b>berlin</b>', 'Berliner Bär')
ergibt "<b>berlin</b>er Bär
", ebenso logisch
preg_replace() Leider hab ich keinen Plan, wie ein regulärer Ausdruck aussehen muss, der case-insensitiv suchen aber case-sensitiv ersetzen soll
Gibt es vielleicht noch andere Ideen?
Matthias
Gibt es vielleicht noch andere Ideen?
preg_replace_callback() schon versucht? :)
Hallo Matthias,
* preg_replace() Leider hab ich keinen Plan, wie ein regulärer Ausdruck aussehen muss, der case-insensitiv suchen aber case-sensitiv ersetzen soll
das:
preg_replace( '~(berlin)~i', '<b>$1</b>', 'Berliner Bar');
ergibt bei mir <b>Berlin</b>er Bär
.
Gruß,
Tobias
preg_replace( '~(berlin)~i', '<b>$1</b>', 'Berliner Bar');
Dem schließe ich mich an, vergiss meinen Kommentar - der callback ist nicht nötig - es ist schon spät.
Om nah hoo pez nyeetz, suit!
preg_replace( '~(berlin)~i', '<b>$1</b>', 'Berliner Bar');
... es ist schon spät.
Stimmt, deshalb werde ich es morgen testen. Vielen Dank.
Matthias
Om nah hoo pez nyeetz, Matthias Apsel!
Stimmt, deshalb werde ich es morgen testen. Vielen Dank.
passt. Danke.
Matthias