【发布时间】:2012-02-09 19:28:54
【问题描述】:
有一些标题,例如:
HTTP/1.1 100 Continue
HTTP/1.1 302 Found
HTTP/1.1 200 OK
HTTP/1.1 400 Not Found
所以,我需要得到 2 个部分:
[200] => [OK]
[400] => [Not Found]
我需要一种方法来使用preg_match_all 并获取这些值,但需要保留Not Found 处的空格
有这个代码:
preg_match_all( '/([0-9]{3}) ([A-Za-z0-9+]*)/', $headers, $matches );
适用于 1-3 个示例标题。
有什么想法吗?
【问题讨论】:
-
如果你想要的话,我有一组这些状态码。
-
如果每一个都是自己的行/输入,你可以只使用explode()有一个限制:
list($http, $status, $msg) = explode(' ', $line, 3); -
不需要
preg_match_all。有了这个结构,explode就足够了。
标签: php regex preg-match-all