想用正则表达式匹配这种格式
<LI><A href="http://news.17173.com/" target=_blank>新闻中心</A> 
<?php
  
$con= file_get_contents("http://17173.com");
  
$preg = '#<LI><A href="(.*)" target="_blank">(.*)</A>#';
  
preg_match_all($preg, $con, $arr); 
  
//print_r($arr[1]);
  
foreach($arr[1] as $id=>$v){
  
  echo "<a href=$v>".$v."</a> ".$arr[2][$id]."<br>";
    
}
  
?>匹配结果是没东西,但是这个页面中是有这种格式链接的,求解

解决方案 »

  1.   

    首先 target="_blank"和上面给出的是不符合的,到底是哪个?然后再echo $con;看看确定有期望的内容
    再注意大小写和换行的问题——你的正则固定了大小写,圆点是不包含换行的
      

  2.   

    preg_match_all('/<li><a.*?>(.*?)<\/a>/i', $str, $matches);
    var_dump($matches[1]);你的问题是:人家网站的内容是target=_blank这样的,而你的target="_blank"却是这个,多了引号,匹配不到。