当前位置:Gxlcms > PHP教程 > 用php处置一段html代码中的所有img标签

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

时间:2021-07-01 10:21:17 帮助过:30人阅读

用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;
}

人气教程排行