3

cURLを使用して文字列を下回っています。コードはこのコメントにあります。

HTTP/1.1 200 OK ID=347 Date: Tue, 19 Feb 2013 09:15:25 GMT Server:
Apache/2.2.22 (Ubuntu) Content-length: 0 Vary: Accept-Encoding
Content-Type: text/plain; charset=ISO-8859-1

次に、文字列からIDが必要です。そのために、explodeを使用して、以下のようなスペースから配列を作成しました。

$getIdElem = explode(' ',$output);
echo '<pre>';print_r($getIdElem);

しかし、私はDate:を取得していますが、その前にスペースがありますが、ID文字列が含まれています。配列の印刷の出力は次のとおりです。

Array
(
    [0] => HTTP/1.1
    [1] => 200
    [2] => OK
    [3] => ID=347
Date:
    [4] => Tue,
    [5] => 19
    [6] => Feb
    [7] => 2013
    [8] => 09:15:25
    [9] => GMT
Server:
    [10] => Apache/2.2.22
    [11] => (Ubuntu)
Content-length:
    [12] => 0
Vary:
    [13] => Accept-Encoding
Content-Type:
    [14] => text/plain;
    [15] => charset=ISO-8859-1


)

explode関数にそのスペースが含まれていない理由がわかりません。誰かがそれについて私を助けることができますか?

4

2 に答える 2

1

代わりに正規表現を使用します。

if (preg_match('# ID=(\d+) #', $response, $match)) { 
   $id = $match[1];
}
于 2013-02-19T09:29:48.320 に答える
1

スペースではなく、Date の前の改行です。正規表現を試して、必要なビットを抽出することをお勧めします。

于 2013-02-19T09:30:49.683 に答える