Der Martin: Text in HTML konvertieren

Beitrag lesen

Hallo,

deine Initiative und Mühe in allen Ehren, aber ...

switch(zeichen) {
   case 'ä' : zeichen = "ä"; break;
   [...]
   case 'è' : zeichen = "è"; break;
   case 'È' : zeichen = "È"; break;

warum willst du den Text derart verstümmeln? Ich gehe doch davon aus, dass du für deine (X)HTML-Dokumente eine Zeichencodierung verwendest, die die Notation von Zeichen außerhalb des ASCII-Bereichs im Klartext erlaubt. Sie dennoch durch ihre Entity-Referenzen zu ersetzen, ist eine mutwillige Verschlechterung der Lesbarkeit.

case '\u000A' : zeichen = "<br />\n"; break;

Das ist das einzige, was hier anscheinend verlangt wurde.
Übrigens solltest du noch der weiten Verbreitung von Windows Rechnung tragen und entweder "\r" (0x0D) bei der Gelegenheit unter den Tisch fallen lassen, oder aber "\r\n" durch "<br />\r\n" ersetzen und "\n" durch "<br />\n", wenn die Darstellung der Zeilenumbrüche systemkonform bleiben soll.

function html_to_text() {
[...]
switch(zeichen6) {
    case "&auml;" : zeichen6 = "ä" ; break;
[...]
    case "&quot;" : zeichen6 = '"' ; break;

Bei der Rückwandlung mag es sinnvoll sein, Entity-Referenzen aufzulösen, falls jemand unnötigerweise welche verwendet haben sollte.
Dein Algorithmus zur Ersetzung ist allerdings ausgesprochen kompliziert.

So long,
 Martin

--
Eifersucht ist so alt wie die Menschheit: Als Adam einmal spät heimkam, zählte Eva sofort seine Rippen.