Показать сообщение отдельно
  #5 (permalink)  
Старый 14.05.2009, 21:18
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Andrej_2
в заданном тексте найти нужный параметр и взять его значение, которое упоминается последним (если параметр по ошибке написан несколько раз)
Сначала не до конца понял задачу, и сделал для случая, если нужно удалить повторяющиеся описания.
var text_stilja = 'COLOR: #aaaaaa;color: #bbbbbb;background-color: #xxxxxx;color: #cccccc;color: #dddddd; BACKGROUND-COLOR: #FFF';
var styleNames = {};
alert(text_stilja.replace(/([-a-z]+):([^;]*);?/ig, function(match, name) {
    name = name.toLowerCase();
    if (styleNames[name]) {
        return '';
    } else {
        styleNames[name] = true;
        return match;
    }
}))


А для вашего случая:
var text_stilja = 'COLOR: #aaaaaa;color: #bbbbbb;background-color: #xxxxxx;color: #cccccc;color: #dddddd   ; BACKGROUND-COLOR: #FFF';
var match = text_stilja.match(/.*(?:^|;)\s*color:\s*([^;]*)/i);
if (match)
    alert('"' + match[1] + '"');
Только тут правые пробелы у значения обрезаться не будут.
Ответить с цитированием