$str = '<div metrics-loc="Swoosh_" rows="2" class="swoosh lockup-container application">  <div class="title">
   
   
    <h2>新品推荐</h2>
   
       
    
    
    <a metrics-loc="Seeall" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewRoom?fcId=399914684&amp;genreIdString=6014&amp;mediaTypeString=Mobile+Software+Applications" class="see-all">查看全部</a>
  </div>  
    
    <div link-label="查看全部" link-url="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewRoom?fcId=399914684&amp;genreIdString=6014&amp;mediaTypeString=Mobile+Software+Applications" num-items="18" class="content"><div>
<div rating-software="200,itunes-games" parental-rating="1" quick-view-url="http://itunes.apple.com/WebObjects/MZStore.woa/wa/quickViewFragment?id=549350579&amp;displayable-kind=11" role="group" metrics-loc="Lockup_" adam-id="549350579" aria-label="Horn&trade;" class="lockup small application">
  
    <a href="http://itunes.apple.com/cn/app/horn/id549350579?mt=8" class="artwork-link"><div class="artwork"><img width="75" height="75" alt="Horn™" src-swap-high-dpi="http://a4.mzstatic.com/us/r1000/077/Purple/v4/05/07/97/05079734-9fb1-555b-78d9-3b363ab4a339/mza_5198264039321065584.150x150-75.jpg" src-load-auto-after-dom-load="" src-swap="http://a5.mzstatic.com/us/r1000/077/Purple/v4/05/07/97/05079734-9fb1-555b-78d9-3b363ab4a339/mza_5198264039321065584.75x75-65.jpg" class="artwork" src="http://r.mzstatic.com/htmlResources/43D7/frameworks/images/p.png" /></div></a>
  
  <div class="lockup-info">
    
    
    
    <a href="http://itunes.apple.com/cn/app/horn/id549350579?mt=8"><ul role="presentation" class="list"><li class="name">Horn™</li><li class="genre">动作游戏</li></ul></a>
  </div>
</div>';
$p   = "/<h2>新品推荐.*<\/div>/i";
preg_match_all($p,$str,$arr);
var_export( $arr);
问下为什么我段代码没有匹配出任何东西
我想匹配出 <a metrics-loc="Seeall" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewRoom?fcId=399914684&amp;genreIdString=6014&amp;mediaTypeString=Mobile+Software+Applications" class="see-all">查看全部</a>求方法<a metrics-loc="Seeall" 这样的链接在页面里有很多处  只有新品推荐那个是我想要的,求正则

解决方案 »

  1.   


    $str =<<<txt
    <div metrics-loc="Swoosh_" rows="2" class="swoosh lockup-container application">  <div class="title">
       
       
        <h2>新品推荐</h2>
       
           
        
        
        <a metrics-loc="Seeall" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewRoom?fcId=399914684&amp;genreIdString=6014&amp;mediaTypeString=Mobile+Software+Applications" class="see-all">查看全部</a>
      </div>  
        
        <div link-label="查看全部" link-url="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewRoom?fcId=399914684&amp;genreIdString=6014&amp;mediaTypeString=Mobile+Software+Applications" num-items="18" class="content"><div>
    <div rating-software="200,itunes-games" parental-rating="1" quick-view-url="http://itunes.apple.com/WebObjects/MZStore.woa/wa/quickViewFragment?id=549350579&amp;displayable-kind=11" role="group" metrics-loc="Lockup_" adam-id="549350579" aria-label="Horn&trade;" class="lockup small application">
      
        <a href="http://itunes.apple.com/cn/app/horn/id549350579?mt=8" class="artwork-link"><div class="artwork"><img width="75" height="75" alt="Horn?" src-swap-high-dpi="http://a4.mzstatic.com/us/r1000/077/Purple/v4/05/07/97/05079734-9fb1-555b-78d9-3b363ab4a339/mza_5198264039321065584.150x150-75.jpg" src-load-auto-after-dom-load="" src-swap="http://a5.mzstatic.com/us/r1000/077/Purple/v4/05/07/97/05079734-9fb1-555b-78d9-3b363ab4a339/mza_5198264039321065584.75x75-65.jpg" class="artwork" src="http://r.mzstatic.com/htmlResources/43D7/frameworks/images/p.png" /></div></a>
      
      <div class="lockup-info">
        
        
        
        <a href="http://itunes.apple.com/cn/app/horn/id549350579?mt=8"><ul role="presentation" class="list"><li class="name">Horn?</li><li class="genre">动作游戏</li></ul></a>
      </div>
    </div>
    txt;
    preg_match_all('/<h2>(.*)<\/h2>/i',$str,$content);print $content[1][0];//新品推荐 
      

  2.   

    preg_match_all('/<h2>(.*)<\/h2>/i',$str,$content);这个你没去测试吧!~~错了好不!~~~这里的.应该改成[^<]
      

  3.   

    要求不是匹配<h2>新品推荐</h2>,而是匹配之后的<a>preg_match('#<h2>新品推荐</h2>.+?(<a[^>]*>.+?</a>)#i', $str, $content);