Zum Inhalt springen

Einfache Hochkommas ersetzen

Erstellt am 24. Oktober 2006 · 1 Antwort · letzte Antwort am 1. November 2006

Tags: JavaScript & AJAX, Frage

tastler ·

Ich habe tagelang Dokumente gewälzt und Forenbeiträge durchforstet – ohne Erfolg. #angry#
Wenn im bodytext ein einfaches Hochkomma vorkommt, wird diese mit dem Pipe-Zeichen als Content ausgegeben. Nun muß ich den gesamten Content sofort per JavaScript übergeben.
var content = ' | ';
Ein Hochkomma im Text beendet den String und es kommt zu einer Fehlermeldung. Ich kann sie aber auch nicht im JavaScript weglassen oder durch doppelte Hochkommas ersetzen. Escape und ähnliches funktioniert nur mit Firefox, nicht aber mit dem IE6.
Ich brauche eine Lösung, wie aus dem einfachen Hochkomma im Pipe-Content entweder ein "\'" oder ein ' oder auch anderer Code wird, den ich dann weiterverarbeiten kann.
Hat jemand einen Vorschlag?

tastler ·

Ich habe das Problem gelöst:
Ich übergebe den Inhalt aus dem bodytext an ein span-tag mit einer id

<span id="inhalt"> | </span>

Danach lese ich den Inhalt per JavaScript in eine Variable, kann ihn weiterverarbeiten und anschließend ausgeben.

<script>content = document.all.inhalt.innerHTML;
//Weiterverarbeitung

Damit der Inhalt des span-tags nicht angezeigt wird leere ich es aus:

document.all.inhalt.innerHTML = "";

So würde es für einen Beitrag prima funktionieren. Kommt aber der nächste Beitrag gibt es plötzlich zwei span-Tags mit der gleichen id. Und zumindest der IE6 quttiert dann die Scriptverarbeitung. Deswegen ändere ich am Ende eines jeden Beitrags die id vom span-Tag.

document.getElementById("inhalt").setAttribute("id","neueID");
</script>

Das war schon alles.