HTML-Quellcode mit JS via reg.Expressions anpassen

Hallo zusammen,

ich möchte gerne ein JavaScript-Plugin erstellen, dass es ermöglicht, Inhalt einer statischen HTML-Seite im Nachhinein zu verändern - konkret geht es mir darum, dass bestimmte Ausdrücke per regulärem Ausdruck gefiltert werden und diese dann anklickbar sind mittels eines Popups.

Schaffe es bisher nur, eine Formatierung zu ändern für bestimmte Elemente - also beispielsweise alle Links in einem bestimmten DIV zu ändern.
Habe es auch mit jQuery geschafft, HTML-Elemente mit einer Formatierung zu versehen, die ein bestimmtes Wort enthalten:

$(document).ready(function(){
$(„p:contains(‚immer‘)“).css(„text-decoration“, „underline“);
});

Aber hat Jemand eine Idee, wie ich einen bestimmten Bereich markiere und mit einem Link versehe, den nicht ein eigenes HTML-Element umschließt? Ich nehme an irgendwas mit getSelection oder so? Tappe aber irgendwie im Dunkeln…

Bin dankbar für Hinweise!!

Sonnige Grüße
Daniel

$(document).ready(function(){
$(„p:contains(‚immer‘)“).css(„text-decoration“,
„underline“);
});

Ist ja schon nicht mal schlecht. Auf DOM-Ebene kommst Du dann aber nicht weiter.

$(document).ready(function(){
 // alle Elemente die p-Nodes die "immer" als text haben
 var items = $("p:contains('immer')");
 // Über alle gefundenen Elemente iterieren
 items.each(function(){
 // den HTML-Quelltext für ein Element bekommen
 var htmlContent = $(this).html();
 // Ersetze immer mit [immer](http://www.heise.de)
 htmlContent = htmlContent.replace(/immer/g,
 '[immer](http://www.heise.de)');
 // schreibe geänderten HTML-Code zurück in das Element
 $(this).html(htmlContent);
 });
});

Hallo Tobias,

super, danke! Das klappt super!!

Daniel