Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.05.2006, 00:34
kvv вне форума Посмотреть профиль Отправить личное сообщение для kvv Найти все сообщения от kvv
  № 11  
Ответить с цитированием
kvv

Регистрация: Oct 2005
Сообщений: 57
Цитата:
Ну не знаю. Сделал я тестовую флешку и передевал туда данные, правда через flashvars, но когда я добавил ";" то стало работать.
Все это делает скрипт. Php-функция htmlspecialchars преобразует < в &lt;
А то, что данные отрезаются по & - это точно. У меня сначала через ондату выводится неотпарсенная строка - там все есть, а когда через онлоад - тогда обрезается.

Парсер onData написать врят-ли получится - во флешку через один объект грузятся данные для разных модулей - новостей, авторизации, и тд.
С юникодом попробую.

Старый 03.05.2006, 00:56
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 12  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
& = %26

Старый 03.05.2006, 01:02
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 13  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Да действительно flashvars работает по другому. Но можно так сделать
Код:
str = "p1=text&p2=sometext &lt; b &gt; bold &lt; /b &gt; next";
lv = new LoadVars ();
xml1 = new XML();
xml1.parseXML(str)
lv.decode (xml1.firstChild.nodeValue);
trace (lv.p1);
trace (lv.p2);
но точки с запятой все рано ставить надо

тогда общая схема такая
Код:
lv = new LoadVars ();
lv.load ("info.txt");
lv.onData = function (src) {
	var xml1 = new XML ();
	xml1.parseXML (src);
	this.decode (xml1.firstChild.nodeValue);
	this.onLoad ();
};
lv.onLoad = function () {
	trace (this.p2);
};
info.txt содержит:
p1=text&p2=sometext &lt; b &gt; bold &lt; /b &gt; next
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 03.05.2006 в 01:05.
Старый 03.05.2006, 07:44
kvv вне форума Посмотреть профиль Отправить личное сообщение для kvv Найти все сообщения от kvv
  № 14  
Ответить с цитированием
kvv

Регистрация: Oct 2005
Сообщений: 57
Сделал в php-скрипте перед выводом новости $text=str_replace('&','%26',$text) - и все работает, спасибо!

У iNils идея интересная, но у меня не заработала:
Код:
rec_lv.onData=function(src)
{
	_root.debugger_mc.addText('LOADED:');
	_root.debugger_mc.addText(src);
	//this.decode(src);
	var xml1 = new XML ();
	xml1.parseXML (src);
	this.decode (xml1.firstChild.nodeValue);
	this.onLoad(true);
	for(var i in this)
	{
		_root.debugger_mc.addText(i+' '+this[i]);
	}
}
Загружаем строку вида:
Цитата:
&act=news&sid=114654297587685&uid=1&priv=4&txt=<heading>Бу [!]</heading><date><a href="asfunction:_root.showInfo,vad">vad</a> / 2.05.06 11:27 / <a href="asfunction:_root.showIp,127.0.0.1">127.0.0.1</a></date>Бу!
&lt;b&gt;ggg&lt;/b&gt;
<br><date><a href="asfunction:_root.showComments,13">comments [0]</a></date>
В debugger выводит:
priv 4
uid 1
sid 114654297587685
act news
onLoad [type Function]
onData [type Function]

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

Старый 03.05.2006, 08:03
son_of_war вне форума Посмотреть профиль Отправить личное сообщение для son_of_war Найти все сообщения от son_of_war
  № 15  
Ответить с цитированием
son_of_war

Регистрация: Mar 2006
Сообщений: 125
Отправить сообщение для son_of_war с помощью ICQ
ну ИМХО флэш любит и понимает данные, которые приходят, пропущенные через urlencode, в этом случае никаких проблем со спецсимволами не возникает

а вообще можно сохраняя данные записывать скажем в базу через функции кодирования, например base64_encode а обратно передавать через base64_decode

Старый 03.05.2006, 12:18
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 16  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
2 kvv: не понятно почему ты часть "<" и ">" заменяешь, а часть нет.
Если у тебя такой вид информации, то xml это лучшее что может быть. Весь код с тегами помещаешь в CDATA и не занимаешься головной болью с переводами.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 03.05.2006, 12:27
kvv вне форума Посмотреть профиль Отправить личное сообщение для kvv Найти все сообщения от kvv
  № 17  
Ответить с цитированием
kvv

Регистрация: Oct 2005
Сообщений: 57
Теги юзеров я заменяю - незачем им, допустим делать ссылки на asfunction. Но у них есть возможность bbcodes + сама новость оформляется тегами (<heading></heading> - а в css прописано описание тега).

А с xml, может и нужно было, но уже поздно - большую часть кода уже написал.

Старый 03.05.2006, 12:42
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 18  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
1. Ты объясни почему например <he ading> не меняешь на &lt;he ading&gt;
2. Вчера массово все тупили, кроме ETC Он ведь по сути предложил использовать escape последовательность. Тебе надо просто все аргументы кодировать в нее и передавать. Смотри аттач.
3. Правильную вещь никогда не поздно сделать.
Вложения
Тип файла: zip loadvar.zip (2.4 Кб, 11 просмотров)
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 03.05.2006, 13:20
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 19  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Достаточно перевести только разделитель переменных (амперсанд) в escape-последовательность, чтобы флеш не думал, что это разделитель и правильно его декодировал...

А вообще, для таких целей лучше юзать xml с cdata и не заменять теги на подстановки...

iNils, escape-последовательность -- это из другой оперы (из оперы ускорения набора некоторых однотипных конструкций кода) =)
А escape это, по сути, urlencode.

Старый 03.05.2006, 13:33
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 20  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от ETC
escape-последовательность -- это из другой оперы (из оперы ускорения набора некоторых однотипных конструкций кода) =)
А escape это, по сути, urlencode.
так у Мука написано
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:24.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.