Konvertieren von innerHTML eines contenteditable text zu normalen string

Verwende ich ein content-editable-element :

<span id="myinput" contenteditable="true">This is editable.</span>

und

document.getElementById('myinput').innerHTML

zu Lesen, dessen Inhalt Javascript.

Aber das Ergebnis ist :

  • "blah " => innerHTML = "blah &nbsp "
  • "bonjour\n bonsoir" => innerHTML = "bonjour<br>bonsoir" (Firefox) und innerHTML = "bonjour<div>bonsoir</div>" (Chrom)
  • vielleicht gibt es viele andere Dinge, die in HTML konvertiert...

Wie konvertiert innerHTML in normalen text?

(d.h. in meinem 2 Beispiele : "blah " und "bonjour\n bonsoir")

Offensichtlich benötigen Sie den Inhalt als einen Teilbaum des Dokuments, Baum, extrahieren den text und das einfügen Zeilenumbrüche nach bestimmten Regeln (die Sie definieren müssen). Die details hängen teilweise von der beabsichtigten der text.
Dies ist teilweise gelöst : innerText funktioniert für alle Browser außer Firefox, für die ich erstellt habe, eine weitere konkrete Frage :stackoverflow.com/questions/25893229/...

InformationsquelleAutor Basj | 2014-09-17

Schreibe einen Kommentar