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


Posted in PHP onOctober 11, 2008

采集回来的图片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 相关文章推荐
PHP5 字符串处理函数大全
Mar 23 PHP
php的list()的一步操作给一组变量进行赋值的使用
May 18 PHP
APACHE的AcceptPathInfo指令使用介绍
Jan 18 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
Dec 03 PHP
实现获取http内容的php函数分享
Feb 16 PHP
php生成gif动画的方法
Nov 05 PHP
linux下为php添加iconv模块的方法
Feb 28 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
Jul 07 PHP
详解Laravel5.6 Passport实现Api接口认证
Jul 27 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
Apr 30 PHP
php的无刷新操作实现方法分析
Feb 28 PHP
php email邮箱正则
Oct 08 #PHP
php获取地址栏信息的代码
Oct 08 #PHP
Cannot modify header information错误解决方法
Oct 08 #PHP
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 #PHP
php 友好URL的实现(吐血推荐)
Oct 04 #PHP
PHP注释实例技巧
Oct 03 #PHP
使用eAccelerator加密PHP程序
Oct 03 #PHP
You might like
编译问题
2006/10/09 PHP
学习使用curl采集curl使用方法
2012/01/11 PHP
3种php生成唯一id的方法
2015/11/23 PHP
php获取图片信息的方法详解
2015/12/10 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
2014/12/18 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
javascript函数命名的三种方式及区别介绍
2016/03/22 Javascript
全面接触神奇的Bootstrap导航条实战篇
2016/08/01 Javascript
jQuery表单对象属性过滤选择器实例详解
2016/09/13 Javascript
canvas实现动态小球重叠效果
2017/02/06 Javascript
Vue中添加过渡效果的方法
2017/03/16 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
p5.js实现故宫橘猫赏秋图动画
2019/10/23 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
教你如何在Django 1.6中正确使用 Signal
2014/06/22 Python
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
python中字典(Dictionary)用法实例详解
2015/05/30 Python
python flask 多对多表查询功能
2017/06/25 Python
解决Python的str强转int时遇到的问题
2018/04/09 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
python2爬取百度贴吧指定关键字和图片代码实例
2019/08/14 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
会计岗位职责范本
2014/03/07 职场文书
预备党员承诺书
2014/03/25 职场文书
支部鉴定材料
2014/06/02 职场文书
倡导文明标语
2014/06/16 职场文书
中国世界遗产导游词
2015/02/13 职场文书
个人工作保证书
2015/02/28 职场文书
起诉状范本
2015/05/20 职场文书
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
2021/04/16 PHP