Opera Replace

aKraus

Erfahrenes Mitglied
Hallo,

ich ferwende folgenden Funktionsaufruf. Dieser funktioniert in jedem Browser, außer im Opera.

Code:
s = s.replace(s, /<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"$1");

Folgende Zeile funktioniert:
Code:
<span style="text-decoration: underline;">test</span>

Folgende Zeile funktioniert nicht
Code:
<span style="text-decoration: underline;">test 
</span>

Hat jemand eine Idee warum?
 
Moin,

ich würde bezweifeln, dass dies überhaupt irgendwo etwas macht :-(
(replace erwartet 2 Parameter, als 1. den Ausdruck, als 2. das Replacement)

Was soll es denn machen?
 
normalerweise heißt der aufruf:

Code:
function rep(re, str) {
    s = s.replace(re, str);
   };
 
rep(/<span style=\"text-decoration: underline;\">(.*?)<\/span>/gm,"[ u]$1[/ u]");


Kennst du eine Lösung für das Problem?
 
Hi.

Ein \n wird nicht durch den Punkt "gematched". Das heißt du mußt dann (\n|.) verwenden.

\edit: übrigens funktioniert dein reg. Ausdruck im Firefox genausowenig.
\edit2: Das m für den Multiline Modus funktioniert auch nicht in jedem Browser (das hattest du aber im ersten Beitrag nicht drin?!). Das solltest du vermeiden. Hilft auch nicht bei dem Problem da das m nur Auswirkungen auf ^ und $ hat.

Gruß
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück