img 提取src正则表达式
img 提取src正则表达式
今天遇到img提取src的问题,写出来供大家参考。
img 提取src正则表达式:
/(src)=[\"|\'| ]{0,}((http:\/\/)?(.*)\.(gif|jpg|jpeg|bmp|png))[\"|\'| ]{0,}/isU
只获取远程图片将(http:\/\/)?改为http:\/\/。即去掉问号。
用php下处理的简单例子:
//获取远程图片并保存到本地的函数
function auto_save_image($body){
$img_array = array();
preg_match_all("/(src)=[\"|\'| ]{0,}(http:\/\/(.*)\.(gif|jpg|jpeg|bmp|png))[\"|\'| ]{0,}/isU", $body, $img_array);
$img_array = array_unique($img_array[2]);
set_time_limit(0);
$imgPath = "uploadFiles/".date("Ym")."/";
$milliSecond = strftime("%H%M%S",time());
if(!is_dir($imgPath)) @mkdir($imgPath,0777);
foreach($img_array as $key =>$value)
{
$value = trim($value);
$get_file = @file_get_contents($value);
$rndFileName = $imgPath."/".$milliSecond.$key.".".substr($value,-3,3);
//$fileurl = $imgUrl."/".$milliSecond.$key.".".substr($value,-3,3);
if($get_file)
{
$fp = @fopen($rndFileName,"w");
@fwrite($fp,$get_file);
@fclose($fp);
}
$body = ereg_replace($value, $rndFileName, $body);
}
//$body = addslashes($body);
return $body;
}
您还未登录,需要登录后才能发言