Hi,
ich habe ein kleines Script welches mir in einer HTML Seite den Suchbegriff markiert.
Allerings habe ich das Problem, dass es auch die HTML Befehle sucht und markiert. Dadurch gerät die Anzeige durcheinander.
Was müsste ich denn ändern, dass die HTML Commandos nicht mit durchsucht werden ?
Code
<style type="text/css">
.mark {
background-color: #f00;
font-weight: bold;
color: #fff;}
</style>
<script type="text/javascript">
function f_mark(p_value)
{
// Alten Inhalt auslesen
var v_content = document.getElementById('content_search');
var v_old = v_content.innerHTML;
// Erstmal evtl. vorhandene alte Markierungen entfernen
var v_pattern = new RegExp('<span class="mark">([^<]*)</span>', 'gi');
var v_new = v_old.replace(v_pattern, '$1');
if (p_value != '')
{
v_pattern = new RegExp('(' + p_value + ')', 'gi');
v_new = v_new.replace(v_pattern, '<span class="mark">$1</span>');
}
// Neuen Inhalt setzen
v_content.innerHTML = v_new;
}
</script>
<input type="text" onKeyUp="f_mark(this.value)" />
<div id="content_search" >
<ul>
<li>Karl Klapp</li>
<li>Hans Schranz</li>
<li>Karl Napf</li>
<li>Peter Meier</li>
<li>Hans Mayer</li>
<li>Guido Petersen</li>
<li>Ingo Hansen</li>
<li>Eduard Karlsson</li>
</ul>
</div>
Alles anzeigen
Wenn ich jetzt nach KARL suche ist alles gut
Suche ich nach UL dann wird das HTML <UL> angezeigt was eigentlich nicht sein sollte.
Es zerstört die Anzeige.
Leider bin ich noch Anfängerin.