ホームページ >バックエンド開発 >PHPチュートリアル >curl から返された Cookie を配列に処理します。

curl から返された Cookie を配列に処理します。

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-13 13:00:341271ブラウズ

Curl から返された Cookie を配列に処理します
目的は、Curl から返されたヘッダー内の Cookie を配列に変換し、Location を取得することだけです

例:
……
キャッシュ制御: private,no-cache="set-cookie"
有効期限: -1
プラグマ: キャッシュなし
場所: http://example.com/
セットクッキー: B=1; セットクッキー: C=5; セットクッキー: R=5;
に変換します array("B" => "1","C" => "5","R" => "5" )
そして、場所を $l="http://example.com/";
として取り出します。
ありがとうございます

------解決策---------

配列 (
[場所] => 配列

$s = <<< TXT<br />
Cache-Control: private,no-cache="set-cookie"<br />
Expires: -1<br />
Pragma: no-cache<br />
Location: http://example.com/<br />
Set-Cookie: B=1; Path=/<br />
Set-Cookie: C=5; Path=/<br />
Set-Cookie: R=5; Path=/<br />
TXT;<br />
<br />
$res = array();<br />
foreach(preg_split("/[\r\n]+/", $s, -1, PREG_SPLIT_NO_EMPTY) as $row) {<br />
  switch($k = strtok($row, ':')) {<br />
    case 'Location':<br />
      $res[$k][] = trim(strtok(''));<br />
      break;<br />
    case 'Set-Cookie':<br />
      $res[$k][trim(strtok('='))] = trim(strtok(';'));<br />
      break;<br />
  }<br />
}<br />
print_r($res);
(
[0] => http://example.com/
)

[Set-Cookie] => 配列
(
[b] =&gt; [C] = & gt;
[R] = & gt;
)

)


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。