Thema: Firefox: Leerzeichen, Umbrüche ausfiltern

Moin!

Fange gerade an das Buch durchzuarbeiten und bin leider sofort auf Probleme gestoßen...

Im Firefox funktioniert das Beispiel zu insertBefore() (S. 32, CD-ROM: 2.1.5_insertBefore.html) nicht korrekt, am Ende wird // ausgegeben.

Im Quellcode steht:
 

document.body.innerHTML = document.body.innerHTML.replace(/[\r\n|\s]/g,'');

Was alle Leerzeichen ersetzt, auch die die angezeigt werden sollen. Es wird anstatt "Absatz 1" "Absatz1" ausgegeben und eben die beiden  // am Ende.

Später im Buch gibt es dann noch eine Variante die leider auch nicht funktioniert:
 

document.body.innerHTML = document.body.innerHTML.replace(/[\r\n|\s]*$/g,'');

Ich habe etwas getüftelt und das einfach durch folgendes ersetzt:
 

document.body.innerHTML = document.body.innerHTML.replace(/\s{2,}/g,'').replace(/> </g,'><').replace(/[\r\n]/g,'');

Hier werden jetzt nicht einfach alle Leezeichen ersetzt sondern mehrere Leerzeichen in Folge und die die zwischen > und < stehen.

Evtl. gibt es noch eine bessere Variante, aber meine Kenntnisse bezüglich regulären Ausdrücken ist nicht sehr fundiert.

CU
McBlack

2

Re: Firefox: Leerzeichen, Umbrüche ausfiltern

Hm .. also die beiden Varianten funktionieren bei mir. Evtl. liegts an der Browsersersion und dem OS. Deine Lösung ist aber interessant .. manachmal ist es aber sinnvoll die Leerzeichen zwe. < und > beizubehalten. Ich würde daher diesen Ausdrück vorschlagen.

document.body.innerHTML = document.body.innerHTML.replace(/\s{2,}/g,'').replace(/\r\n/g,'');
_______________________________________________________________

/-/annes (j|g) ... http://www.jg-webdesign.de