Регулярное выражения для парсинга куков из HTTP заголовков

GrayMaster

Новичок
Регулярное выражения для парсинга куков из HTTP заголовков

Добрый день !

Есть HTTP заголовок:
Set-Cookie: cook1=value1
Set-Cookie: cook2=value2; expires=Wed, 30 Nov 2005 16:29:21 GMT
Set-Cookie: cook3=value3; cook4=value4

Помогите сделать регулярное выражение, создающий массив:
PHP:
array (
  cook1=>'value1',
  cook2=>'value2',
  cook3=>'value3',
  cook4=>'value4'
);
Пожалуйста ссылки на статьи не давать, смотрел - неврубаюсь :(
Знаю как сделать для конкретного случая, а здесь - вариации...
 

SiMM

Новичок
А зачем там регулярники? Тем более, если не можешь с ними совладать?
Обрабатывай построчно, если строка начинается с Set-Cookie:, explode по ';', затем по '=' - получишь имя и значение куки.
 

GrayMaster

Новичок
ЭТО для работы с HTTP и понадобилось ;)
Я делаю универсальный класс... За основу CURL взял, но там читать куки - низя :( вот делаю чтоб куки тоже парсить умел...

-~{}~ 30.11.05 22:36:

А зачем там регулярники? Тем более, если не можешь с ними совладать?
Обрабатывай построчно, если строка начинается с Set-Cookie:, explode по ';', затем по '=' - получишь имя и значение куки.
так нет...

Вот такие вот ещё попадаются...
Set-Cookie: cook1=value1
Set-Cookie: cook3=value3; cook4=value4
Set-Cookie: cook3=value3; cook4=value4;

В этом проблема :(
 

SiMM

Новичок
> Вот такие вот ещё попадаются...
Ну и что? Проблема то в чём? В том, что никто не собирается писать код за тебя? ;)
 

GrayMaster

Новичок
Проблема в том - что я незнаю как отпарсить куки...

Что-то типа вот такого вот... Но не то :(
preg_match_all("~(.*?)=(.*?)~", $cookstr, $matches);
 

SiMM

Новичок
> Проблема в том - что я незнаю как отпарсить куки...
Не можешь регулярниками - делай как можешь. Хочешь регулярниками - учись.

> Что-то типа вот такого вот... Но не то
Чем не то?
 

SiMM

Новичок
> Читал - немогу разобраться...
Словами опиши, что значит этот регулярник
> ~(.*?)=(.*?)~
- может и подскажу, где "спотыкаешься"
+ в FAQ есть ссылка на Regex Coach - может поможет. Можно, конечно, ещё Фридла почитать ;)
 
Сверху