molily: Regulärer Ausdruck mit   funktioniert nicht im Safari

Beitrag lesen

Hallo,

mit folgenden Befehl

n = n.replace(/\s| | /g,"");

entferne ich in einem String alle Leerzeichen, auch geschützte. Im IE, im Opera und im Firefox funktioniert das auch, aber der Safari ersetzt nur die " ", nicht aber   und  .

Du nutzt hier eine HTML-Zeichenkodierung innerhalb eines JavaScripts. Das geht davon aus, dass der HTML-Parser auch den JavaScript-Code parst und Zeichenreferenzen darin auflöst.

Das ist zwar üblich, aber möglicherweise macht es Safari nicht. Also versuche mal, mit JavaScript das Zeichen einzubinden: \u00A0

Stellt der Safari geschützte Leerzeichen anders dar oder kann er nicht nach Entities suchen?

»Nach Entities suchen« tut kein Browser bei dieser Ersetzung!

Das sind Ebenen, die nie miteinander in Kontakt kommen.

Gibt es auch eine Möglichkeit, nach allen "spaces" zu suchen, also auch schmale, breite, geschützte, ..., ohne alle im Regulären Ausdruck aufzuführen?

Nein. Du musst sie auflisten. Am besten in der genannten Schreibweise als hexadezimale Unicode escape sequence.

Mathias