首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

正则表达式匹配,该如何处理

2013-01-25 
正则表达式匹配想用正则表达式匹配这种格式LIA hrefhttp://news.17173.com/ target_blank新闻中心

正则表达式匹配
想用正则表达式匹配这种格式
<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>";
    
}
  
?>



匹配结果是没东西,但是这个页面中是有这种格式链接的,求解
[解决办法]
首先 target="_blank"和上面给出的是不符合的,到底是哪个?

然后再echo $con;看看

确定有期望的内容
再注意大小写和换行的问题——你的正则固定了大小写,圆点是不包含换行的
[解决办法]
preg_match_all('/<li><a.*?>(.*?)<\/a>/i', $str, $matches);
var_dump($matches[1]);

你的问题是:人家网站的内容是target=_blank这样的,而你的target="_blank"却是这个,多了引号,匹配不到。

热点排行