手机
当前位置:查字典教程网 >编程开发 >php教程 >php preg_match_all结合str_replace替换内容中所有img
php preg_match_all结合str_replace替换内容中所有img
摘要:采集回来的图片img标签中,有好多javascript脚本和无用的信息,必需过替换自己想要的,比如alt。先看看要过滤的内容,我随便复制出来...

采集回来的图片img标签中,有好多javascript脚本和无用的信息,必需过替换自己想要的,比如alt。先看看要过滤的内容,我随便复制出来:

复制代码 代码如下:

sdfsdfsdf<img alt=”3568df.com靓图” src=”http://www.aaa.com/upimg /080330/120D1232295023X0.gif” src=”http://www.eee.com/upimg/080330 /120D1232295023X0.gif” width=1 onclick=”javascript:; ” onload=”javascript:if(this.width>500){this.resized=true; this.style.width=500;}”>sfsdfsdfasdfsadf<img alt=”3568df.com靓图 ” src=”http://www.3568.com/upimg/080330 /120D1232295023X0.gif” src=”http://www.ddd.com/upimg/080330 /120D1232295023X0.gif” width=1 onclick=”javascript:; ” onload=”javascript:if(this.width>500){this.resized=true; this.style.width=500;}”>sdfsadf<img alt=”3568df.com靓图 ” src=”http://www.xxx.com/upimg/080330/120D1232295023X0.gif” src=”http://www.sss.com/upimg/080330/120D1232295023X0.gif” width=1 onclick=”javascript:;” onload=”javascript:if(this.width>500){this.resized=true;this.style.width=500;}”>sdfsdf

要把上面替换成形如:

复制代码 代码如下:

<img alt=”我的信息” src=”http://www.xxx.com/upimg /080330/120D1232295023X0.gif” src=”http://www.xxx.com/upimg/080330 /120D1232295023X0.gif” /> 其中src=”http://www.xxx.com/upimg/080330 /120D1232295023X0.gif” src=”http://www.xxx.com/upimg/080330 /120D1232295023X0.gif”这个地址要保留,因为图片用的都是源地址

方法大致是:先读取内容里的所以IMG标签,然后把每个IMG标签的SRC抽取出来,并且组合成自己的内容,最后进行替换。

preg_match_all就是我想要的函数,它能够把正则表达式匹配到的内容建立一个三维数组,你可以对它们进行遍历查找替换,不太了解的请查查手册,这里不作具体介绍。函数代码:

复制代码 代码如下:

function replace($str)

{

preg_match_all(”/<img(.*)(src=”[^"]+”)[^>]+>/isU”, $str, $arr);

for($i=0,$j=count($arr[0]);$i<$j;$i++){

$str = str_replace($arr[0][$i],”<img alt=”我的信息” “.$arr[2][$i].” />”,$str);

}

return $str;

}

【php preg_match_all结合str_replace替换内容中所有img】相关文章:

PHP cURL初始化和执行方法入门级代码

php分页的功能模块分享

php正则preg_replace_callback函数用法实例

PHP脚本的10个技巧(1)

实现树状结构的两种方法

在apache下限制每个虚拟主机的并发数!!!!

第七节 类的静态成员 [7]

PHP设计模式之装饰者模式代码实例

php结合ACCESS的跨库查询功能

基于PHP与XML的PDF文档生成技术

精品推荐
分类导航