var result = "My name is < NAME >".replace("< NAME >", "anything");
ты хочешь этого? Или вы ищете что-то более сложное, которое перечисляет все слова между < and >
? Что-то вроде:
var matches = "My name is < NAME > < SURNAME >".match(/<[^>]+>/g);
Если вы хотите заменить несколько деталей, вы можете сделать это:
var replacer = function (str)
{
if (str === '< NAME >')
{
return 'anything';
}
else
{
return 'nothing';
}
};
var replaced = 'My name is < NAME > < SURNAME >'.replace(/<[^>]+>/g, replacer));
Тест здесь:
http://jsfiddle.net/rZuNX/
Более полный пример:
var name = 'anything';
var surname = 'anyone';
var myInputText = "My name is < NAME > < SURNAME >";
var replaced = myInputText
.replace(/<[^>]+>/g,
function (str)
{
if (str === '< NAME >')
{
return name;
}
else if (str === '< SURNAME >')
{
return surname;
}
else
{
return '***error***';
}
}
);
Я использую анонимные функции javascript, которые «закрываются» вокруг переменных name
и surname
.
Проверьте это здесь: http://jsfiddle.net/rZuNX/1/