php preg match只获得最后匹配的字符串

时间:2016-04-30 09:51:24

标签: php curl preg-match explode

我需要获取最后的HTTP标头。我的字符串是:

HTTP/1.1 302 Moved Temporarily
Date: Sat, 30 Apr 2016 09:48:56 GMT
Server: Apache
X-Powered-By: PHP/5.5.34
Location: 2.php
Content-Length: 0
Content-Type: text/html

HTTP/1.1 302 Moved Temporarily
Date: Sat, 30 Apr 2016 09:48:57 GMT
Server: Apache
X-Powered-By: PHP/5.5.34
Location: 3.php
Content-Length: 0
Content-Type: text/html

HTTP/1.1 200 OK
Date: Sat, 30 Apr 2016 09:48:57 GMT
Server: Apache
X-Powered-By: PHP/5.5.34
Transfer-Encoding: chunked
Content-Type: text/html

但我需要获得最后一个标题。我试图用 \ n \ n 爆炸这个字符串,但我无法得到结果。可以用preg_match吗?

2 个答案:

答案 0 :(得分:0)

疑难杂症! 我需要用这段代码来爆炸它:

explode("\r\n\r\n", $header);

答案 1 :(得分:0)

使用preg_splitarray_pop函数的解决方案:

// $headers is your initial string
$headers_splitted = preg_split("/\R{2}/", $headers);

print_r(array_pop($headers_splitted));

输出:

HTTP/1.1 200 OK
Date: Sat, 30 Apr 2016 09:48:57 GMT
Server: Apache
X-Powered-By: PHP/5.5.34
Transfer-Encoding: chunked
Content-Type: text/html