HTTP/1.1 200 OK
Server: nginx/0.7.68
Date: Sat, 02 Mar 2013 07:44:57 GMT
Content-Type: application/rss+xml; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive3ab4
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"> 
<channel> 
<title>CSDN 移动频道(资讯)</title> 
<link>http://mobile.csdn.net</link> 
<description>开放平台</description> 
<lastBuildDate>Sat, 02 Mar 2013 15:44:50</lastBuildDate> 
<item>
<title>移动周报:我为什么弃用Objective-C而选择RubyMotion?</title>
<link>http://www.csdn.net/article/2013-03-01/2814309-mobile-weekly-choose-rubymotion-for-ios-dev</link>
<description><![CDATA[我们为您精心准备了CSDN移动频道本周最精彩的热点新闻,开发者直言RubyMotion优与劣,讲述为何弃用Objective-C而选择RubyMotion;出生贫苦的Minecraft开发者Notch大神特立独行,始终秉承开放的游戏开发理念;移动互联网大潮来袭,国家级老牌媒体China Daily将怎样拥抱新媒体时代?]]></description>
<author>唐小引</author>
<pubDate>Fri, 01 Mar 2013 23:41:01</pubDate>
<guid>http://www.csdn.net/article/2013-03-01/2814309-mobile-weekly-choose-rubymotion-for-ios-dev</guid>
</item> 
<item>
<title>遍地撒网,重点培养,King.com颠覆性游戏商业模式</title>
<link>http://www.csdn.net/article/2013-02-27/2814282-king.com-game-launch</link>
<description><![CDATA[在App Store的Top Grossing排行榜中,Candy Crush Saga已经排到第二位,仅次于Supercell的Clash of Clans,其开发公司king.com也因此名声大噪,并在移动端打败Zynga,它的成功离不开公司商业模式的创新:发布三部曲+高质游戏+顺势而行。]]></description>
<author>陈徐天九</author>
<pubDate>Fri, 01 Mar 2013 10:49:52</pubDate>
<guid>http://www.csdn.net/article/2013-02-27/2814282-king.com-game-launch</guid>
</item> 
...我想用一个正则把上面的内容分成两部分
从空白行分开的两部分为:
1.响应基本信息HTTP/1.1 200 OK
Server: nginx/0.7.68
Date: Sat, 02 Mar 2013 07:44:57 GMT
Content-Type: application/rss+xml; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive2.响应内容3ab4
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"> 
<channel> 
<title>CSDN 移动频道(资讯)</title> 
<link>http://mobile.csdn.net</link> 
<description>开放平台</description> 
<lastBuildDate>Sat, 02 Mar 2013 15:44:50</lastBuildDate> 
<item>
<title>移动周报:我为什么弃用Objective-C而选择RubyMotion?</title>
<link>http://www.csdn.net/article/2013-03-01/2814309-mobile-weekly-choose-rubymotion-for-ios-dev</link>
<description><![CDATA[我们为您精心准备了CSDN移动频道本周最精彩的热点新闻,开发者直言RubyMotion优与劣,讲述为何弃用Objective-C而选择RubyMotion;出生贫苦的Minecraft开发者Notch大神特立独行,始终秉承开放的游戏开发理念;移动互联网大潮来袭,国家级老牌媒体China Daily将怎样拥抱新媒体时代?]]></description>
<author>唐小引</author>
<pubDate>Fri, 01 Mar 2013 23:41:01</pubDate>
<guid>http://www.csdn.net/article/2013-03-01/2814309-mobile-weekly-choose-rubymotion-for-ios-dev</guid>
</item> 
<item>
<title>遍地撒网,重点培养,King.com颠覆性游戏商业模式</title>
<link>http://www.csdn.net/article/2013-02-27/2814282-king.com-game-launch</link>
<description><![CDATA[在App Store的Top Grossing排行榜中,Candy Crush Saga已经排到第二位,仅次于Supercell的Clash of Clans,其开发公司king.com也因此名声大噪,并在移动端打败Zynga,它的成功离不开公司商业模式的创新:发布三部曲+高质游戏+顺势而行。]]></description>
<author>陈徐天九</author>
<pubDate>Fri, 01 Mar 2013 10:49:52</pubDate>
<guid>http://www.csdn.net/article/2013-02-27/2814282-king.com-game-launch</guid>
</item> 
...
php正则空行

解决方案 »

  1.   

    我需要头信息呀。因为Transfer-Encoding: chunked
      

  2.   

    $arr=preg_split('/(?<=Connection: keep-alive)\s+/s',$s);
    print_r($arr);
      

  3.   

    这个 Transfer-Encoding: chunked 对你而言,毫无意义
      

  4.   

    并不是所有的响应头信息都是Connection结束.
      

  5.   


    我当然需要了.因为如果是chunked需要unchunk
      

  6.   

    本帖最后由 xuzuning 于 2013-03-04 08:29:12 编辑
      

  7.   


    我需要头信息来作头信息的工作,需要正文来作正文的工作.而我用socket得来的内容两者混在一起。现在是否可用正则把两者分开呢?我需要你们提供一个正则表达式.而不是告诉我我需要什么
      

  8.   


    explode("\r\n\r\n", $str, 1);
      

  9.   

    看清了我需要的是正则,explode的第一参数是正则吗
      

  10.   

    如果你得到的响应数据是响应头+响应主题,http响应头以两个空行结尾。可以作为分隔的依据。另外一种方式,有很多类库可以单独获取响应头和响应主题。如httplib
      

  11.   

    如果非要用正则,试试下面的写法$arr = preg_split('#^[\r\n]#m', $text);
    print_r($arr);