diff --git a/templates/index.html b/templates/index.html index 266c02b..17d0609 100644 --- a/templates/index.html +++ b/templates/index.html @@ -138,9 +138,12 @@ } function highlightText(text, searchTerm) { - if (!searchTerm) return text; - const regex = new RegExp(`(${searchTerm})`, 'gi'); - return text.replace(regex, '$1'); + if (!searchTerm || !text) return text; + // Escapen von Sonderzeichen im Suchbegriff + const escapedSearchTerm = searchTerm.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + // Erstelle einen regulären Ausdruck ohne Wortgrenzen + const regex = new RegExp(escapedSearchTerm, 'gi'); + return text.replace(regex, '$&'); } function createAddressLink(street, plz, city) { @@ -191,8 +194,8 @@ return isIPInSubnet(clientIP, trimmedRange); }); - const adjustedNumber = adjustCustomerNumber(nummer); if (isAllowed) { + const adjustedNumber = adjustCustomerNumber(nummer); return `${nummer}`; } else { return nummer; @@ -232,6 +235,9 @@ function displayResults(results) { const resultsDiv = document.getElementById('results'); const resultCount = document.getElementById('resultCount'); + const generalSearchTerm = document.getElementById('q').value; + const nameSearchTerm = document.getElementById('nameInput').value; + const fachrichtungSearchTerm = document.getElementById('fachrichtungInput').value; if (!results || results.length === 0) { resultsDiv.innerHTML = '
Keine Ergebnisse gefunden.
'; @@ -253,7 +259,7 @@