Tach!
attrs.push({name: name, value: value, escaped: value.replace(/(^|[^\\])"/g, '$1\\\"') | -----------------------------------------------------------------------+ [1] }) <--- [2] }); <-- [3]
Im Editor PSPad wird mir die Zeichenfolge ab einschließlich dem mit [1] markierten Anführungszeichen bis zum Schluss in roter Schrift angezeigt, was mir signalisiert, dass diese Zeichenkette nicht korrekt abgeschlossen ist.
Mir signalisiert das, dass der PSPad einen fehlerhaften Parser enthält. Vermutlich macht er Mustererkennung und rechnet nicht mit einzelnen Anführungszeichen in regulären Ausdrücken.
Will ich nun aber alles zusammenführen, dann sind auch die mit [2] und [3] schließenden Klammern rot.
Folgefehler aufgrund der fehlerhafen Erkennung des Anführungszeichens.
Wie muss ich den Ausdruck unter value.replace escapen, damit er korrekt geschlossen wird, ohne aber die Funktionalität außer Kraft zu setzen?
Er ist soweit korrekt und es gibt da auch keine Maskierungsvorschrift. Im Ersetzen-mit-Ausdruck ist lediglich ein überflüssiges \ vor dem " drin. Es stört nicht, ist da aber nicht notwendig. Vielleicht kannst du den Fehler im Parser umgehen, indem du die Unicode-Escape-Sequenz des Anführungzeichens nimmst: \u0022
dedlfix.