当前位置:首页>新闻中心>技术专区
PHP匹配出全部的\"img“标签,然后更换路径
发布日期:2013-12-19  浏览次数:1107

 要将HTML代码中的全部图片路径匹配出来然后更改路径,可能对于一部分开发人员来说,会接触到的功能。网上的一些方法,搜了那么多,都感觉不是那么靠谱与精准,不是我想要的。所以单独以我的方法记录下来。

1.先假如有一段HTML的代码:

  $content = '<img alt="" src="js/fckeditor/UserFiles/image/F201005201210502415831196.jpg" width="600" height="366">
<br><br><br><br><img alt="" src="js/fckeditor/UserFiles/image/33_avatar_middle.jpg" width="120" height="120">';

当然也可以用file_get_content()方法去获取一个HTML的文件,这个方法不理解的话,可以去查手册,就是将文件读入一个字符串中去。

 

2.将全部的标签都匹配出来。

preg_match_all("/]+>/isU",$content,$matches);

用到的正则表达式是参照网上某位仁兄的。这个匹配很详细,大家不妨将$matched用print_r()打印出来看看效果,记住前后用上

标签更形象哦。完整的标签是在$matches[2]这个第二维数组中的。

 

 

3.得到全部的完整标签。

if(!empty($matches)){

$img = $matches[2];
}else{
$img = "";
}

print_r($img);

 

4.得到图片路径并更换。

foreach($img as $val){
preg_match("/^.*//",$val,$res); //先匹配出来图片存储的路径
echo "
";

echo str_replace($res[0],"images/",$val); //将路径全部改成"images/"
}

程序运行,打印出来的效果为:

Array ( [0] => js/fckeditor/UserFiles/image/F201005201210502415831196.jpg [1] => js/fckeditor/UserFiles/image/33_avatar_middle.jpg )
images/F201005201210502415831196.jpg
images/33_avatar_middle.jpg

转载:http://hi.baidu.com/nevenjim/item/6b81233a0a9d2dfc2784f4b1

友情链接:(链接申请请联系QQ:872761175)
凤凰彩票  |   网站备案  |   中国互联网信息中心  |   国家工业信息化部  |   风信子科技  |  
服务热线:028-62821994 028-62821843
公司传真:028-62821424
公司地址:成都市锦江区锦华路一段万达广场11A
公司网址:http://www.fxzkj.com 企业邮箱:fxzkjgs@fxzkj.com
Copyright © 2010-2015 成都风信子科技有限公司 版权所有 备案号: 蜀ICP备12000289