Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Разбор строки. при передачи по XMLSocket (http://www.flasher.ru/forum/showthread.php?t=60329)

adelante 07.07.2004 08:27

Разбор строки. при передачи по XMLSocket
 
Привет всем.
Сразу к делу.
Сервер - Perl
Клиент :-) Flash
Как мне т.е Flash-у разобрать по переменным к примеру такую строку:
fistvar=some%20data&secondvar=some%20data
Еще раз пишу мож, кто не понял должно получится
trace(firstvar);
trace(secondvar);
----------------------
some data
some data

adelante 08.07.2004 09:12

Наверное один я не знаю это ерунды :)

dimarik 08.07.2004 13:14

А при чем тут XMLSocket?

To use the XMLSocket class, the server computer must run a daemon that understands the protocol used by the XMLSocket class. The protocol is as follows:

XML messages are sent over a full-duplex TCP/IP stream socket connection.
Each XML message is a complete XML document, terminated by a zero byte.
An unlimited number of XML messages can be sent and received over a single XMLSocket connection.

Dindin 08.07.2004 23:22

Цитата:

Оригинал написал(а) dimarik
А при чем тут XMLSocket?

To use the XMLSocket class, the server computer must run a daemon that understands the protocol used by the XMLSocket class. The protocol is as follows:

XML messages are sent over a full-duplex TCP/IP stream socket connection.
Each XML message is a complete XML document, terminated by a zero byte.
An unlimited number of XML messages can be sent and received over a single XMLSocket connection.

Dimark, дорогой, ты хоть сам-то прочитал, то что запостил? Там ведь чёрным по белому написано, что единственное требование к данным при их данных через XMLSocket - то, что они должны терминироваться маркером конца (файла, пакета, блока данных) то есть тем самым zero-byte.

2 adelante
Помочь тебе может класс RegExp. Посмотри тут

adelante 09.07.2004 04:14

Thanks
 
Спасибо всем :)

valer1 09.07.2004 19:13

А я такую проблему решаю разбивая строку на массив с помощью метода split класса string:

Sock.onData = function(command) {
tmp = command.split("=");
...

В твоём случае надо сначала разбить всю строку по символу "&" а потом в цикле элементы полученного массива по "="
Думаю разберёшься.

Nucer 09.07.2004 19:48

Я бы даже сказал так:
Код:

function parseVars ( Target , str:String ):Void
{
        var ar1:Array = str.split( '&' );
        var ar2:Array;
        var L:Number = ar1.length;
        var i:Number;
        for ( i = 0 ; i < L ; i++ )
        {
                ar2 = ar1[i].split( '=' );
                Target[ar2[0]] = ar2[1];
        }
}


Iv 09.07.2004 21:51

самый быстрый способ - юзать встроенные возможности, например так:
Код:

var str = "fistvar=some%20data&secondvar=some%20data"
foo = new LoadVars()
foo.onData(str)
trace(foo.fistvar);
trace(foo.secondvar);


adelante 12.07.2004 06:53

Thanks
 
Еще раз, спасибо вразумили неуча :)


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

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