PHP头条
热点:

用php处置一段html代码中的所有img标签


用php处理一段html代码中的所有img标签
有一段html代码,里面包含很多标签,同时包含有很多的img标签,现在,需要用php语言将所有的img标签的src图片地址提取出来后,经过我的一段程序处理生成自己服务器下的图片地址,将原先的src图片地址替换成我程序处理后的地址。
并且保证图片地址替换后的img标签与原先的img标签在html代码中的位置是一样的。
PHP HTML 图片 分享到:
------解决方案--------------------
这个用正则可以实现
    
    $url="http://www.ggggggg.com";

    //file_get_contents() 函数把整个文件读入一个字符串中

    $string=file_get_contents($url);

    //preg_match_all函数进行全局正则表达式匹配。

    preg_match_all("/]*)\s*src=('
------解决方案--------------------
\")([^'\"]+)('
------解决方案--------------------
\")/",

    $string,$matches);//带引号

    //preg_match_all("/]*)\ssrc=([^\s>]+)/",$string,$matches);//不带引号

    $new_arr=array_unique($matches[0]);//去除数组中重复的值

    foreach($new_arr as $key){

    echo $key."
";

    }

    ?> 

代码运行结果将显示所有抓取的图片。
------解决方案--------------------
$string='你的内容';
preg_match_all("/]*)\s*src=('
------解决方案--------------------
\")([^'\"]+)('
------解决方案--------------------
\")/", $string,$matches);
    $new_arr=array_unique($matches[2][0]);//去除数组中重复的值
    foreach($new_arr as $key=>$val){
      $picurl=get_name($val);//这里处理图片并得到处理后的地址
      str_replace($val,$picurl,$string);
    }
function get_name($pic_item,$path='upload/')    
{                 
        $pic_name = $path.get_unique().'.jpg';//改时微秒时间戳命名      
         $write_fd = @fopen($pic_name,"wb");            
         @fwrite($write_fd, CurlGet($pic_item));    
         @fclose($write_fd);      
     return $pic_name;    
}
    

www.phpzy.comtrue/phprm/6280.htmlTechArticle用php处置一段html代码中的所有img标签 用php处理一段html代码中的所有img标签 有一段html代码,里面包含很多标签,同时包含有很多的img标签,现在,需要用php语言将所有的img标签的src图片地址...

相关文章

相关频道:

PHP之友评论

今天推荐