PHP 获取替换文章中的图片路径

分类:PHP函数库 时间:2021-04-20 浏览:227
0
/**
 * 获取替换文章中的图片路径
 * @param string $xstr 内容
 * @param string $keyword 创建照片的文件名
 * @param string $oriweb 网址
 * @return string
 * 
 */
if (!function_exists('replaceimg')) {
  function replaceimg($xstr, $oriweb,$param_src='src',$keyword='caiji'){ 
      //保存路径
      $d = date('Ymd', time());
      $dirslsitss = './public/upload/'.$keyword.'/'.$d;//分类是否存在
      if(!is_dir($dirslsitss)) {
          mkdir($dirslsitss, 0755,true);
      }
      //匹配图片的src
      preg_match_all('#<img.*?'.$param_src.'="([^"]*)"[^>]*>#i', $xstr, $match);
      foreach($match[1] as $imgurl){
          $imgurl = $imgurl;
          if(is_int(strpos($imgurl, 'http'))){
              $arcurl = $imgurl;
          } else {
              $arcurl = $oriweb.$imgurl;        
          }
          $img=file_get_contents($arcurl);
          if(!empty($img)) {
              //保存图片到服务器
              $fileimgname = time()."-".rand(1000,9999).".jpg";
              $filecachs=$dirslsitss."/".$fileimgname;
              if (!file_exists($dirslsitss)) {
                mkdir($dirslsitss);
              }
              $fanhuistr = file_put_contents( $filecachs, $img );
              $saveimgfile = "/public/upload/$keyword"."/".$d."/".$fileimgname;

              
              $xstr=str_replace($imgurl,$saveimgfile,$xstr);
          }
      }
      return $xstr;
  }
}


本站文章如未注明出处则为原创,转载请注明出处,如有侵权请邮件联系站长

用户评论

评论前必须