【发布时间】:2011-04-07 18:54:01
【问题描述】:
我正在使用 CURL 来执行 HTTP 请求。我得到这样的结果:
HTTP/1.1 200 OK
Date: Thu, 07 Apr 2011 15:52:33 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
我的问题是,我怎样才能可靠地检索四个命名字段值中的任何一个?
现在我正在这样做:
$name = 'Expires';
preg_match('/^'.$name.': ([^\r\n]*)[\r\n]*$/m', $headers, $matches);
它似乎正在工作。我只是对我的正则表达式感到好奇,它将适用于我从服务器收到的每个格式良好的标头,或者是否存在会破坏的差异。我似乎找不到对有效字符、换行符或回车的具体限制,所以我不知道是否所有值都遵循以下格式:
字段名后接冒号,后接空格,后接非换行符,后接换行符。
【问题讨论】:
标签: php regex curl http-headers preg-match