Извлечь параметры в строку и заменить их значениями, которые находятся на другой карте с регулярным выражением в JavaScript - PullRequest
3 голосов
/ 05 марта 2012

У меня есть такая карта:

var params = { 'name':'Mehran', 'city':'Isfahan'};

и у меня тоже есть такая строка:

var welcomeText = 'Hi {{name}}! {{city}} is a beautiful city.';

Моя цель - заменить {{name}} и {{city}} их значениями в params функцией render().

var result = render(welcomeText, params);

И result будет примерно таким:

'Hi Mehran! Isfahan is a beautiful city.'

1 Ответ

2 голосов
/ 05 марта 2012

Взгляните на красивый Усовый проект , который делает именно то, что вам нужно, с другими полезными опциями для вас.

Рабочий пример


Вот быстрый и грязный пользовательский способ:

function render(text, data){
    for (var i in data){
        if (data.hasOwnProperty(i)){
            text = text.replace('{{' + i + '}}', data[i]);            
        }
    }

    return text;
}

var params = { 'name':'Mehran', 'city':'Isfahan'};
var welcomeText = 'Hi {{name}}! {{city}} is a beautiful city.';

var txt = render(welcomeText, params);
console.log(txt); // Hi Mehran! Isfahan is a beautiful city.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...