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 mysql分页实例代码
Apr 10 PHP
php在多维数组中根据键名快速查询其父键以及父键值的代码
May 07 PHP
php文件操作实例代码
May 10 PHP
一个漂亮的php验证码类(分享)
Aug 06 PHP
PHP变量内存分配问题记录整理
Nov 27 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
Feb 13 PHP
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
Nov 15 PHP
Symfony2创建页面实例详解
Mar 18 PHP
thinkPHP实现MemCache分布式缓存功能
Mar 23 PHP
PHP基于DOM创建xml文档的方法示例
Feb 08 PHP
PHP实现中国公民身份证号码有效性验证示例代码
May 03 PHP
PHP 枚举类型的管理与设计知识点总结
Feb 13 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
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
PHP实现数组array转换成xml的方法
2016/07/19 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
2017/11/06 PHP
很可爱的输入框
2008/08/03 Javascript
jQuery Select(单选) 模拟插件 V1.3.62 改进版
2010/07/17 Javascript
JS 自定义带默认值的函数
2011/07/21 Javascript
JavaScript Length 属性的总结
2015/11/02 Javascript
JavaScript Split()方法
2015/12/18 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
Angular表单验证实例详解
2016/10/20 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
JavaScript箭头函数_动力节点Java学院整理
2017/06/28 Javascript
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
vue使用video.js进行视频播放功能
2019/07/18 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
JavaScript 判断数据类型的4种方法
2020/09/11 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
原生JavaScript实现贪吃蛇游戏
2020/11/04 Javascript
vue实现图片裁剪后上传
2020/12/16 Vue.js
Python urllib模块urlopen()与urlretrieve()详解
2013/11/01 Python
python中requests使用代理proxies方法介绍
2017/10/25 Python
jupyter notebook 重装教程
2020/04/16 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
全球性的在线时尚男装零售商:boohooMAN
2016/12/17 全球购物
初中家长寄语
2014/04/02 职场文书
请假条怎么写
2014/04/10 职场文书
优秀班组申报材料
2014/12/25 职场文书
个人德育工作总结
2015/03/05 职场文书
2016年暑假学生家长评语
2015/12/01 职场文书
2019年最新证婚词精选集!
2019/06/28 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis