php中使用正规表达式提取文章中的图片或者链接

kevin.Zhu 发布于:2013-1-16 15:31 分类:Php  有 11 人浏览,获得评论 0 条  

<?php
$theurl="http://www.linzl.com/archives/261.html";
if (!($contents= file_get_contents($theurl)))
{
  echo 'Could not open URL';
  exit;
}
  $pattern_img='/<img.*src=(\"|\')(.+)\1.*>/U';
  $pattern_link='/<a.*>.*<\/a>/U';
  if (preg_match_all($pattern_img,$contents,$quote))
  {
   echo "<p>图片<br />";
foreach($quote[2] as $img)
echo "<img src='".$img."'/><br/>\n";
echo '</p>';
  }
  else
  {
    echo '<p>没有图片 </p>';
  }
  
  if (preg_match_all($pattern_link,$contents,$quote1))
  {
    echo "<p>链接<br />";
foreach($quote1[0] as $link)
echo $link."<br/>\n";
echo '</p>';
  }
  else
  {
    echo '<p>没有链接 </p>';
  }
?>

现在在详解一下:



<?php
$theurl="http://www.linzl.com/archives/261.html";
if (!($contents= file_get_contents($theurl)))
{
  echo 'Could not open URL';
  exit;
}
 //这段代码是php从远程获取文章内容
?>
$pattern_img='/<img.*src=(\"|\')(.+)\1.*>/U';
  $pattern_link='/<a.*>.*<\/a>/U';
  if (preg_match_all($pattern_img,$contents,$quote))
  {
   echo "<p>图片<br />";
foreach($quote[2] as $img)
echo "<img src='".$img."'/><br/>\n";
echo '</p>';
  }
  else
  {
    echo '<p>没有图片 </p>';
  }
//$pattern_img这是正规表达式表示获取图片链接
//$pattern_link 表示获取文字链接