Показать сообщение отдельно
Старый 10.04.2012, 15:03
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 8  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
вот у темя есть нужная для вас функция:
Код AS3:
static public function printfwv(string:String, vars:Object):String {
			if (vars == null) return string;
 
			const NOT_EXIST:int = -1;
 
			const ALPHABET:String = "qwertyuiopasdfghjklzxcvbnm_";
			const S_TEXT:int = 1;
			const S_VAR:int = 2;
			const PREFIX:String = "%";
 
			//быстрая проверка на содержание двух %
			var iof:int = string.indexOf(PREFIX);
			if (iof == NOT_EXIST) {
				return string;
			}else {
				if (string.indexOf(string, iof++) == NOT_EXIST) return string;
			}
			//
 
			var src:String = string;
			var buffer:String = "";
			var state:int = S_TEXT;
			var var_buff:String = "";
			var c:String;
 
			for (var i:int = 0, len:int = src.length; i < len; i++) {
				c = src.charAt(i);
 
				switch(state) {
					case S_TEXT:
						if (PREFIX == c) {
							state = S_VAR;
						}else {
							buffer += c;
						}
						break;
 
					case S_VAR:
						if (ALPHABET.indexOf(c) != -1) {
							var_buff += c;
						}else {
							if (c == PREFIX) {
								if (vars[var_buff] == undefined) {
									buffer += PREFIX + var_buff;
									var_buff = "";
									i--;
									state = S_TEXT;
								}else {
									buffer += vars[var_buff];
								}
							}else{
								buffer += PREFIX + var_buff + c;
							}
							var_buff = "";
							state = S_TEXT;
						}
						break;
				}
			}
 
			if (state == S_VAR) {
				buffer += PREFIX + var_buff;
			}
 
			return buffer;
		}
первым параметром вы передаете строку типа "bla bla %var% bla bla %var% bla bla %var2%", а вторым объект, если объект содержит переменные с именем var и var2, то вы функция вернет, то что вам нужно

Добавлено через 49 секунд
правда никакой привязки к xml нет, поэтому из xml вам самому придется выдрать строку-шаблон