2015-07-06 5 views
0

Использование javascript Мне нужно переименовать некоторые URL-адреса в имена файлов.Использование javascript Мне нужно заменить соответствующие строки в документе

Router.route('/photos') 
    .get(function(req, res){ 

     models.PHOTOS.find({}, function(err, photos){ 
      if (err) { 
       res.status(500).send(err); 
      } 
      else { 
       var input = JSON.stringify(photos); 
       var output = input.replace('http://www.someurl.com/media.ashx?id=', '').replace('&t=pi&f=I', '.jpg'); 
       res.json(JSON.parse(output)); 
      } 
     }); 
    }); 

Так из http://www.someurl.com/media.ashx?id=FILE123456&t=pi&f=I я должен получить FILE123456.jpg

Но это только изменяет его для первой строки соответствия, и я хотел бы сделать это для всего документа.

ответ

1

использование регулярных выражений и глобальных, /g, некоторые вещи, как

var output = input.replace(/http\:\/\/www\.someurl\.com\/media\.ashx\?id=/g, '').replace(/&t=pi&f=I/g, '.jpg'); 

Edit: вы знаете, что, уборщик способ сделать это может быть (предполагается, что структура будет фотографии являются массив объектов фото с url как атрибут):

Router.route('/photos') 
    .get(function(req, res){ 

     models.PHOTOS.find({}, function(err, photos){ 
      if (err) { 
       res.status(500).send(err); 
      } 
      else { 
       photos.forEach(function(photo){ 
        photo.name = photo.url.replace(/http\:\/\/www\.someurl\.com\/media\.ashx\?id=/, '').replace(/&t=pi&f=I/, '.jpg'); 
       }); 
       res.json(photos); 
      } 
     }); 
    }); 
Смежные вопросы