Ignore case on highlight....

U

Unicate

Erfahrenes Mitglied
57
Nocheinmal der Selbe Fall wie hier.
Das ersetzen funktioniert hervorragend allerdings mit einem Nachteil.
Hier einmal ein mein Code:

PHP:
ContactMatch match = (ContactMatch) m;
if (match.getFullname().toLowerCase().contains(_currentSearchString.toLowerCase())) {
    match.setHtmlName(match.getFullname().replaceAll(_currentSearchString, "<b>" + _currentSearchString + "</b>"));
    addMatch(match);
}

Wenn ich nun nach "pat" suche würde der Kontakt "Patrick" zwar mit angezeigt aber nicht Dick dargestellt werden.

Gibt es da schon was einfaches oder muss ich das selber coden?
 
Hi

ich würde es so machen:

PHP:
String _currentSearchString = "Pat";
String ret = ""; 
String fullName = "Patrik";
        
if (fullName.toLowerCase().contains(_currentSearchString.toLowerCase())) {
    for (String e : fullName.split(" ") ) {
        ret += e.toLowerCase().contains(_currentSearchString.toLowerCase()) ? "<b>"+ e + "</b>" : e;  
    }            
}
Gruß Bobert
 
Zuletzt bearbeitet:
Naja bei deiner Variante finde ich aber immer noch nicht den "Patrik" wenn ich "pat" klein schreibe.

Hier meine funktionierende Variante:

PHP:
if (match.getFullname().toLowerCase().contains(_currentSearchString.toLowerCase())) {
    int start = match.getFullname().toLowerCase().indexOf(_currentSearchString.toLowerCase());
    String replace = match.getFullname().substring(start, start+_currentSearchString.length());
    match.setHtmlName(
            match.getFullname().replaceAll(
                    replace, 
                    "<b>"+replace+"</b>"
            )
    );                    
    addMatch(match);
}
 
Zuletzt bearbeitet:

Ähnliche Themen

HoerMirAuf
Antworten
3
Aufrufe
838
jogimuc
J
D
Antworten
4
Aufrufe
780
DTSchneiderlein
D
Tiefkuehlpizza
Antworten
9
Aufrufe
934
Tiefkuehlpizza
Tiefkuehlpizza
Zurück
Oben Unten