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 相关文章推荐
新安装的MySQL数据库需要注意的安全知识
Jul 30 PHP
PHP关联数组的10个操作技巧
Jan 21 PHP
php define的第二个参数使用方法
Nov 04 PHP
php使用mkdir创建多级目录入门例子
May 10 PHP
使用CodeIgniter的类库做图片上传
Jun 12 PHP
四种php中webservice实现的简单架构方法及实例
Feb 03 PHP
如何使用php实现评委评分器
Jul 31 PHP
基于CI框架的微信网页授权库示例
Nov 25 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
PHP simplexml_import_dom()函数讲解
Feb 03 PHP
再谈Yii Framework框架中的事件event原理与应用
Apr 07 PHP
Thinkphp极验滑动验证码实现步骤解析
Nov 24 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的历史和优缺点
2006/10/09 PHP
基于curl数据采集之正则处理函数get_matches的使用
2013/04/28 PHP
PHP加密解密类实例代码
2016/07/20 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
2013/11/18 NodeJs
Egret引擎开发指南之编译项目
2014/09/03 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
2014/09/25 Javascript
浅谈Jquery核心函数
2015/06/18 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
JS实现向iframe中表单传值的方法
2017/03/24 Javascript
基于BootStrap实现简洁注册界面
2017/07/20 Javascript
Angular项目如何升级至Angular6步骤全纪录
2018/09/03 Javascript
Vue.js的动态组件模板的实现
2018/11/26 Javascript
extjs图表绘制之条形图实现方法分析
2020/03/06 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
vue组件实现移动端九宫格转盘抽奖
2020/10/16 Javascript
[01:51]2014DOTA2西雅图邀请赛 MVP 外卡赛black场间采访
2014/07/09 DOTA
[48:32]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs VG
2018/04/01 DOTA
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
python thread 并发且顺序运行示例
2009/04/09 Python
python实现内存监控系统
2021/03/07 Python
pandas求两个表格不相交的集合方法
2018/12/08 Python
Python 用matplotlib画以时间日期为x轴的图像
2019/08/06 Python
安装PyInstaller失败问题解决
2019/12/14 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
详解Html5中video标签那些属性和方法
2019/07/01 HTML / CSS
英国泽西岛植物:Jersey Plants Direct
2019/08/07 全球购物
幼儿园数学教学反思
2014/02/02 职场文书
北京奥运会口号
2014/06/21 职场文书
超市仓管员岗位职责范本
2014/09/18 职场文书
搞笑的婚礼主持词
2015/06/29 职场文书
安全教育的主题班会
2015/08/13 职场文书
Python中的pprint模块
2021/11/27 Python
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技