Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Perl (http://www.flasher.ru/forum/forumdisplay.php?f=21)
-   -   Как разобрать строку? (http://www.flasher.ru/forum/showthread.php?t=27031)

Fiksa 10.02.2002 09:15

Как разобрать строку?
 
Приветствую!

Помогите разобраться, есть сторка что типа такого
http://..../pl.pl?kod=1191&size=2&kod=1195&size=1

так вот мне необходимо чтобы скрипт при обработке ее выводил резудьтат так:
1191 _____ 2
1195 _____ 1
т.е. какждой паре соотвествовало свое значение.
Как это сделать?

Если бы строка была токой
?kod1=1191&size1=2&kod2=1195&size2=1
то не чего сложного не было бы .
Но а если она не такая???

Как ее обработать????

[subway]design 10.02.2002 10:51

Суешь в массив всю $ENV{'QUERY_STRING'}, потом парами перебираешь в цикле:

@query=split(/&/,$ENV{'QUERY_STRING'});

for($i=0; $i<=(@query.length-1);$i+=2){

$temp_kod=$query[$i];
$temp_size=$query[$i+1];

//делаешь с ними что хочешь...

}


только я Перлом давно не занимался, если будут синтаксические ошибки, не принимай близко к сердцу. А в целом идея ясна...

Fiksa 10.02.2002 13:18

Спасибо!!!

Поторопился я :)

Да я так и сделал!!! идея правильная!!!

:)

shagren 26.02.2002 17:11

А еще мона так:

$query=$ENV{'QUERY_STRING'};
while($query=~/kod=(\d+)\&size=(\d+)/g){
<код>=$1;
<сайз>=$2;
}

А внутри етого цикла делаешь еще чего хошь с кодом и сайзом.

Fiksa 27.02.2002 02:43

В принципе это одно и тоже....
только заместо for берется while......

...интерестно, а отличия между ними есть?

shagren 27.02.2002 12:49

Ваще-то есть :D
Во первых не люблю конструкции типа
@qqq.length
Её моно заменить на $#qqq
А во вторых надо заставлять юсеров учить рег. выражения, и что с ними связанно, очень полезно для общего развития интелектуального уровня государства... :eek:

Fiksa 28.02.2002 05:08

Спасибо за разъяснение!!

Надо попробывать... все, что есть!!
:)


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

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