Was ist die bequemste Art, HTML in reinen Text zu konvertieren und dabei Zeilenumbrüche beizubehalten (mit JavaScript)?

8

Im Grunde brauche ich nur den Effekt, den HTML-Code aus dem Browser-Fenster zu kopieren und in ein Textarea-Element einzufügen.

Zum Beispiel möchte ich das:

%Vor%

um das zu werden:

%Vor%     
Danylo Mysak 28.09.2010, 13:26
quelle

4 Antworten

14

Wenn dieser HTML-Code in Ihrer Webseite sichtbar ist, könnten Sie dies mit der Benutzerauswahl tun (oder nur eine TextRange in IE). Dadurch bleiben Zeilenumbrüche erhalten, wenn nicht unbedingt Leerzeichen davor und dahinter.

UPDATE 10. Dezember 2012

Die toString() Methode von Selection Objekten ist jedoch noch nicht standardisiert und funktioniert inkonsistent zwischen den Browsern, so dass dieser Ansatz auf wackeligen Boden basiert und Ich empfehle nicht, es jetzt zu verwenden . Ich würde diese Antwort löschen, wenn sie nicht akzeptiert würde.

Demo: Ссылка

Code:

%Vor%     
Tim Down 28.09.2010, 13:57
quelle
3

Dies könnte Ihre Frage beantworten: HTML von Text-JavaScript entfernen

    
clifgriffin 28.09.2010 13:30
quelle
3

Ich habe vor einiger Zeit versucht, einen Code zu finden, den ich dafür geschrieben habe. Es hat gut funktioniert. Lassen Sie mich skizzieren, was es getan hat, und hoffentlich können Sie sein Verhalten duplizieren.

  • Ersetzen Sie Bilder durch alt oder Titeltext.
  • Ersetzen Sie die Links durch "text [link]"
  • Ersetzen Sie Dinge, die normalerweise vertikalen Leerraum erzeugen. h1-h6, div, p, br, hr usw. (Ich weiß, ich weiß. Das könnten Inline-Elemente sein, aber es funktioniert gut.)
  • Entfernen Sie die restlichen Tags und ersetzen Sie sie durch eine leere Zeichenfolge.

Sie könnten dies sogar erweitern, um Dinge wie geordnete und ungeordnete Listen zu formatieren. Es hängt wirklich nur davon ab, wie weit du gehen willst.

BEARBEITEN

Den Code gefunden!

%Vor%     
Kevin Wiskia 28.09.2010 13:44
quelle
0

Drei Schritte.

%Vor%     
Serapth 28.09.2010 13:37
quelle

Tags und Links