php采集文章中的图片获取替换到本地(实现代码)


Posted in PHP onJuly 08, 2013
/**
 * 获取替换文章中的图片路径
 * @param string $xstr 内容
 * @param string $keyword 创建照片的文件名
 * @param string $oriweb 网址
 * @return string
 * 
 */
function replaceimg($xstr,$keyword, $oriweb){     //保存路径
    $d = date('Ymd', time());
    $dirslsitss = '/var/www/weblist/uploads/'.$keyword.'/'.$d;//分类是否存在
    if(!is_dir($dirslsitss)) {
        @mkdir($dirslsitss, 0777);
    }
    //匹配图片的src
    preg_match_all('#<img.*?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;
            $fanhuistr = file_put_contents( $filecachs, $img );
            $saveimgfile = "/uploads/$keyword"."/".$d."/".$fileimgname;
            
            $xstr=str_replace($imgurl,$saveimgfile,$xstr);
        }
    }
    return $xstr;
}
PHP 相关文章推荐
PHP出错界面
Oct 09 PHP
php数组总结篇(一)
Sep 30 PHP
让的PHP代码飞起来的40条小技巧(提升php效率)
Apr 12 PHP
php下连接mssql2005的代码
Jan 17 PHP
php自动给文章加关键词链接的函数代码
Nov 29 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
Jun 06 PHP
PHP调用MySQL存储过程并返回值的方法
Dec 26 PHP
网站防止被刷票的一些思路与方法
Jan 08 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
May 17 PHP
thinkPHP通用控制器实现方法示例
Nov 23 PHP
PHP-FPM 的管理和配置详解
Feb 17 PHP
浅谈Laravel中的三种中间件的作用
Oct 13 PHP
php打开文件fopen函数的使用说明
Jul 05 #PHP
解析PHP中$_FILES的使用以及注意事项
Jul 05 #PHP
如何利用PHP执行.SQL文件
Jul 05 #PHP
PHP session_start()问题解疑(详细介绍)
Jul 05 #PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
Jul 05 #PHP
PHP仿博客园 个人博客(2) 数据库增添改删
Jul 05 #PHP
浅析PHP的ASCII码转换类
Jul 05 #PHP
You might like
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
2011/05/02 PHP
PHP正则提取不包含指定网址的图片地址的例子
2014/04/21 PHP
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
2018/06/01 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
2019/10/10 PHP
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
jquery图片放大镜功能的实例代码
2013/03/26 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
JS实现可缩放、拖动、关闭和最小化的浮动窗口完整实例
2015/03/04 Javascript
基于JS实现PHP的sprintf函数实例
2015/11/14 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
关于JS与jQuery中的文档加载问题
2017/08/22 jQuery
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
[49:05]OG vs Newbee 2019DOTA2国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
PYTHON基础-时间日期处理小结
2018/05/05 Python
python绘制简单彩虹图
2018/11/19 Python
解决在pycharm中显示额外的 figure 窗口问题
2019/01/15 Python
django表单的Widgets使用详解
2019/07/22 Python
Pandas的Apply函数具体使用
2020/07/21 Python
Django生成数据库及添加用户报错解决方案
2020/10/09 Python
如何利用Python matplotlib绘制雷达图
2020/12/21 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
7 For All Mankind官网:美国加州洛杉矶的高级牛仔服装品牌
2018/12/20 全球购物
Diptyque英国官方网站:源自法国的知名香氛品牌
2019/08/28 全球购物
城市规划毕业生求职信
2013/10/10 职场文书
美容师的职业规划书
2013/12/27 职场文书
慈善晚会策划方案
2014/05/14 职场文书
三下乡个人总结
2015/03/04 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript
解读Vue组件注册方式
2021/05/15 Vue.js
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技
前端canvas中物体边框和控制点的实现示例
2022/08/05 Javascript