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 in_array 函数使用说明与in_array需要注意的地方说明
Apr 13 PHP
php实现图片添加水印功能
Feb 13 PHP
php foreach正序倒序输出示例代码
Jul 01 PHP
PHP使用静态方法的几个注意事项
Sep 16 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
js+php实现静态页面实时调用用户登陆状态的方法
Jan 04 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
Sep 23 PHP
php实现word转html的方法
Jan 22 PHP
php gd等比例缩放压缩图片函数
Jun 12 PHP
WAF的正确bypass
Jan 05 PHP
PHP实现用户登录的案例代码
May 10 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
Oct 08 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
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
PHP MSSQL 存储过程的方法
2008/12/24 PHP
PHP url 加密解密函数代码
2011/08/26 PHP
CI框架给视图添加动态数据
2014/12/01 PHP
php实现当前页面点击下载文件的实例代码
2016/11/16 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
javascript的键盘控制事件说明
2008/04/15 Javascript
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
jQuery实现TAB选项卡切换特效简单演示
2016/03/04 Javascript
js点击返回跳转到指定页面实现过程
2020/08/20 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
jQuery实现级联下拉框实战(5)
2017/02/08 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
ES6中数组array新增方法实例总结
2017/11/07 Javascript
实例讲解JavaScript截取字符串
2018/11/30 Javascript
taro 实现购物车逻辑的实例代码
2020/06/05 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
python如何基于redis实现ip代理池
2020/01/17 Python
HTML5本地存储之Database Storage应用介绍
2013/01/06 HTML / CSS
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
如何理解委托
2012/01/06 面试题
先进工作者获奖感言
2014/02/08 职场文书
廉洁使者实施方案
2014/03/29 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
公司承诺书怎么写
2014/05/24 职场文书
小学感恩节活动总结
2015/03/24 职场文书
2015年惩防体系建设工作总结
2015/05/22 职场文书
高二语文教学反思
2016/02/16 职场文书