pregmatchall php替换,php preg_match_all结合str_replace替换内容中所有img

本文介绍了如何利用PHP的preg_match_all和str_replace函数处理HTML内容,提取并替换img标签。在处理大量采集数据时,需要过滤掉原站的图片信息并替换为自己设定的格式。通过preg_match_all获取所有img标签,然后提取src属性,再用str_replace进行替换,以达到过滤和定制的目的。
摘要由CSDN通过智能技术生成

php preg_match_all结合str_replace替换内容中所有img

发布于 2014-10-02 20:40:01 | 197 次阅读 | 评论: 0 | 来源: 网友投递

PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php。

本文是一个php结合preg_match_all函数结合str_replace函数实现的可以用来替换内容中所有img标签的代码,感兴趣的同学参考下.

最近做站的时候,采集了大量的数据,但采回来的数据基本上都要经过过滤原站保留的数据,其中IMG就是一个地方。网站上好多这些应用例子似乎没有必要“秀”出来,但站已几天没写日志,那就来一个吧

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

sdfsdfsdf”phperz.com靓图”500){this.resized=true; this.style.width=500;}”>sfsdfsdfasdfsadf”3568df.com靓图500){this.resized=true; this.style.width=500;}”>sdfsadf”3568df.com靓图500){this.resized=true;this.style.width=500;}”>sdfsdf

要把上面替换成形如:

”我的信息” 其中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(”/]+>/isU”, $str, $arr);

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

$str = str_replace($arr[0][$i],””,$str);

}

return $str;

}

相关阅读:

php preg_match_all结合str_replace替换内容中所有img

php计算多维数组中所有值总和的方法

PHP基于反射获取一个类中所有的方法

php中替换字符串中的空格为逗号','的方法

php实现下载远程网页中所有图片的示例代码

php中通过正则表达式下载内容中的远程图片的函数代码

php数组函数之array_count_values() 统计数组中所有值出现的次数函数

抓取并下载CSS中所有图片文件的php代码

PHP正则提取内容中的图片地址并循环输出

PHP获取表单中所有复选框值的方法

PHP清除数组中所有字符串两端空格的方法

PHP清除字符串中所有无用标签的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值