2017-04-17 4 views
-1

Ich versuche, eine einfache Zeichenfolge zu ersetzen.jquery ersetzen Elemente in Array mit Zeichenfolge

function LanguageSwitch (lang) { 
    var pathname = window.location.pathname; 

    if (lang == "da") { 
     pathname = pathname.replace(array("/de/", "/en/"), "/da/"); 
    } 
    if (lang == "en") { 
     pathname = pathname.replace(array("/da/", "/de/"), "/en/"); 
    } 
    if (lang == "de") { 
     pathname = pathname.replace(array("/da/", "/en/"), "/de/"); 
    } 

    window.location.replace(pathname); 
} 

dies funktioniert:

function LanguageSwitch (lang) { 
    var pathname = window.location.pathname; 

    if (lang == "da") { 
     pathname = pathname.replace("/en/", "/da/"); 
    } 
    if (lang == "en") { 
     pathname = pathname.replace("/da/", "/en/"); 
    } 

    window.location.replace(pathname); 
} 

jedoch eine dritte Sprachwahl Zugabe - nicht so viel ;-)

Irgendwelche Ideen.

EDIT: Dies ist kein Versuch [x, y, z] zu ersetzen, mit [a, b, c], sondern eher einem Ersetzen [x, y, z] mit "a"

+0

es wäre besser, wenn Sie 'lang' und' pathname' Variablen in Fällen protokolliert, wenn es nicht funktioniert. –

+0

Alter, Bitte setzen Sie einige Anstrengungen, um das Problem zu lösen, indem Sie sich auf andere Antworten beziehen und eher Fragen stellen. Antwort auf Ihre Frage ist bereits vorhanden [Hier] (http://stackoverflow.com/questions/5069464/replace-multiple-strings-at-once) Und [hier auch] (http://stackoverflow.com/questions/ 15604140/replace-multiple-strings-with-multiple-other-strings) – Chirag

+0

Mögliches Duplikat von [Mehrere Strings auf einmal ersetzen] (http://stackoverflow.com/questions/5069464/replace-multiple-strings-at-once) – Chirag

Antwort

1

Versuchen

function LanguageSwitch (lang) { 
    var pathname = window.location.pathname; 

    if (lang == "da") { 
     pathname = pathname.replace(/\/en\/|\/de\//, "/da/"); 
    } 
    if (lang == "en") { 
     pathname = pathname.replace(/\/da\/|\/de\//, "/en/"); 
    } 
if (lang == "de") { 
     pathname = pathname.replace(/\/da\/|\/en\//, "/de/"); 
    } 

    window.location.replace(pathname); 
} 
0

var pathname = 'www.here-is-lang-da.com'; 
 
$('h1').text(pathname); 
 
pathname = pathname.replace(/da|de/g, 'en'); 
 
$('h2').text(pathname);
<html> 
 
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
</head> 
 
<body> 
 
<h1></h1> 
 
<h2></h2> 
 
</body> 
 
</html>

Verwandte Themen