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的FTP学习(二)
Oct 09 PHP
php5 图片验证码实现代码
Dec 11 PHP
php GeoIP的使用教程
Mar 09 PHP
php class类的用法详细总结
Oct 17 PHP
thinkphp的CURD和查询方式介绍
Dec 19 PHP
php mail to 配置详解
Jan 16 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
Nov 18 PHP
php中http与https跨域共享session的解决方法
Dec 20 PHP
php安装ssh2扩展的方法【Linux平台】
Jul 20 PHP
PHP实现的随机红包算法示例
Aug 14 PHP
php5对象复制、clone、浅复制与深复制实例详解
Aug 14 PHP
TP5框架实现自定义分页样式的方法示例
Apr 05 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设计模式 Bridge (桥接模式)
2011/06/26 PHP
php 日期和时间的处理-郑阿奇(续)
2011/07/04 PHP
PHP yii实现model添加默认值的方法(两种方法)
2016/11/10 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
2017/02/04 PHP
php解决crontab定时任务不能写入文件问题的方法分析
2019/09/16 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
Ext JS Grid在IE6 下宽度的问题解决方法
2009/02/15 Javascript
xml 封装与解析(javascript和C#中)
2009/07/26 Javascript
jQuery 学习6 操纵元素显示效果的函数
2010/02/07 Javascript
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
制作jquery遮罩层效果导航菜单代码分享
2013/12/25 Javascript
AngularJS基础学习笔记之表达式
2015/05/10 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
JS实现网页右侧带动画效果的伸缩窗口代码
2015/10/29 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
JavaScript学习总结之正则的元字符和一些简单的应用
2017/06/30 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
[03:36]2015国际邀请赛第二日现场精彩集锦
2015/08/06 DOTA
Python开发编码规范
2006/09/08 Python
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
python使用Plotly绘图工具绘制散点图、线形图
2019/04/02 Python
python 字符串格式化的示例
2020/09/21 Python
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
在校生党员自我评价
2013/09/25 职场文书
高级方案规划工程师岗位职责
2013/11/29 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
匿名信格式范文
2015/05/27 职场文书
热血教师观后感
2015/06/10 职场文书
退休教师欢送会致辞
2015/07/31 职场文书
学校安全管理制度
2015/08/06 职场文书
Linux中Nginx的防盗链和优化的实现代码
2021/06/20 Servers
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
2021/09/25 Java/Android