当前位置:
首页 > 技术 > php 正则筛选html图片链接

php 正则筛选html图片链接

php 正则筛选html图片链接,通过该方法,会根据$ImgSrcAttr变量中设置的图片属性,自动筛选出图片的完整链接,通常该方法用于在批量获取图片路径时,只需粘贴html代码,$.ajax传入后端,再返回处理结果即可,当然代码也可以改写为javascript,效果一样。

$ImgSrcAttr = 'src,data-lazyload-src,data-src,style'; //extracted image path attribution
/*===== Images Url Sift ======*/
function imgSift($imgArea, $attr)
{
     global $ImgSrcAttr;

     $flock = array();
     $attrArr = explode(',', empty($attr)?$ImgSrcAttr:$attr);
     foreach($attrArr as $v)
     {
          $v = addslashes(trim($v));
          if($v == 'style')
               $pattern = '/background:url\([\'\"]?(.*?)[\'\"]?\)/i';
          else
               $pattern = '/<[img|IMG].*?'.$v.'=[\'\"](.*?(?:[\.gif|\.jpg|\.jpeg|\.bmp|\.png]))[\'\"\?].*?[\/]?>/i';
          preg_match_all($pattern, $imgArea, $imgs);
          $http = preg_replace('/^\/\//', 'http://', $imgs[1]);
          $flock = array_merge($flock, $http);
     }

     return array_unique($flock);
}

/*start invoke*/
 $html = $post['html'];
 $attr = $post['attr'];
 $str = implode("\n", imgSift($html, $attr));
 echo json_encode($str);
 exit();
/*end invoke*/

php 正则筛选html图片链接:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!