Я работаю на петле, чтобы заменить язык тегов {lang_vname}
с реальным сроком (имя)Javascript заменить все?
language.js:
var lang = {
//common
vname : "name",
name : "lastname",
adress : "adress",
language : "language",
заменить скрипт
function translate(output) {
var term = output;
$.each(lang,function(i,l){
var find = "{lang_"+i+"}";
term = term.replace(find,l);
});
return term;}
Я не могу понять, как заменить вывод, если имеется более одного выражения одного вида. Он заменяет только первый, и если есть второй тег, он отображает тег. Я нашел решение вроде replace(/find/g,l);
, но он не работает здесь и останавливает весь мой скрипт.
Есть ли способ решить это легко?
EDIT
благодаря Феликсу Клинг! ссылка, которую он предоставил, заставляла ее работать: D мой конечный результат:
function translate(output) {
var term = output;
$.each(lang,function(i,l){
var find = "{lang_"+i+"}";
var regex = new RegExp(find, "g");
term = term.replace(regex, l);
});
return term;
}
благодарит за вашу помощь!
что формат и тип переменной выходной? – amd
Возможный дубликат [В Javascript, как я могу выполнить глобальную замену на строку с переменной внутри '/' и '/g' ?](http://stackoverflow.com/questions/542232/in-javascript-how- can-i-perform-a-global-replace-on-string-with-a-variable-insi) –