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 相关文章推荐
PHP 上传文件大小限制
Jul 05 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
ThinkPHP写第一个模块应用
Feb 20 PHP
php循环创建目录示例分享(php创建多级目录)
Mar 04 PHP
PHP学习笔记(三):数据类型转换与常量介绍
Apr 17 PHP
实例讲解yii2.0在php命令行中运行的步骤
Dec 01 PHP
详解PHP处理密码的几种方式
Nov 30 PHP
详解PHP如何更好的利用PHPstorm的自动提示
Aug 18 PHP
php实现微信原生支付(扫码支付)功能
May 30 PHP
简单实用的PHP文本缓存类实例
Mar 22 PHP
laravel 实现向公共模板中传值 (view composer)
Oct 22 PHP
Yii框架自定义数据库操作组件示例
Nov 11 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音乐采集(部分代码)
2007/02/14 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
2016/08/12 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
php创建类并调用的实例方法
2019/09/25 PHP
javascript自执行函数之伪命名空间封装法
2010/12/25 Javascript
让jQuery与其他JavaScript库并存避免冲突的方法
2013/12/23 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
Node.js实现数据推送
2016/04/14 Javascript
javascript小数精度丢失的完美解决方法
2016/05/31 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
javascript代码调试之console.log 用法图文详解
2016/09/30 Javascript
浅谈JavaScript 代码整洁之道
2018/10/23 Javascript
Vue2.0实现简单分页及跳转效果
2019/07/29 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
分享一款超好用的JavaScript 打包压缩工具
2020/04/26 Javascript
python实现随机森林random forest的原理及方法
2017/12/21 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
Django REST framework内置路由用法
2019/07/26 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
SQL面试题
2013/04/30 面试题
商务日语专业毕业生求职信
2013/10/26 职场文书
大专学生推荐信范文
2013/11/19 职场文书
函授本科自我鉴定
2014/02/04 职场文书
财务科科长岗位职责
2014/03/10 职场文书
公司新年寄语
2014/04/04 职场文书
师德模范事迹材料
2014/06/03 职场文书
2014年中秋节活动总结
2014/08/29 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
2014年中学生检讨书大全
2014/10/09 职场文书
先进典型发言材料
2014/12/30 职场文书
五年级下册复习计划
2015/01/19 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
Android中的Launch Mode详情
2022/06/05 Java/Android
Win2008系统搭建DHCP服务器
2022/06/25 Servers