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开发文件系统实例讲解
Oct 09 PHP
PHP语法速查表
Jan 02 PHP
phpmyadmin MySQL 加密配置方法
Jul 05 PHP
PHP中=赋值操作符对不同数据类型的不同行为
Jan 02 PHP
PHP取二进制文件头快速判断文件类型的实现代码
Aug 05 PHP
php顺序查找和二分查找示例
Mar 27 PHP
PHP Opcache安装和配置方法介绍
May 28 PHP
PHP获取网页所有连接的方法(附demo源码下载)
Mar 30 PHP
php断点续传之文件分割合并详解
Dec 13 PHP
CI框架实现框架前后端分离的方法详解
Dec 30 PHP
PHP实现微信商户支付企业付款到零钱功能
Sep 30 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 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读取flv文件的播放时间长度
2009/09/03 PHP
PHP 图像尺寸调整代码
2010/05/26 PHP
PHP结合Jquery和ajax实现瀑布流特效
2016/01/07 PHP
PHP缓冲区用法总结
2016/02/14 PHP
javascript语言结构小记(一)
2011/09/10 Javascript
拥抱模块化的JavaScript
2012/03/07 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
2014/06/09 Javascript
jQuery关键词说明插件cluetip使用指南
2015/04/21 Javascript
JQuery validate插件验证用户注册信息
2016/05/11 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
vue中的数据绑定原理的实现
2018/07/02 Javascript
分享vue里swiper的一些坑
2018/08/30 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
基于python实现微信模板消息
2015/12/21 Python
python下调用pytesseract识别某网站验证码的实现方法
2016/06/06 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
python通过TimedRotatingFileHandler按时间切割日志
2019/07/17 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
Pycharm github配置实现过程图解
2020/10/13 Python
Python基于template实现字符串替换
2020/11/27 Python
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
APM Monaco中国官网:来自摩纳哥珠宝品牌
2017/12/27 全球购物
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
证婚人搞笑证婚词
2014/01/10 职场文书
初中三好学生事迹材料
2014/01/13 职场文书
个人银行贷款担保书
2014/04/01 职场文书
普通党员对照检查材料
2014/08/28 职场文书
计划生育证明书写要求
2014/09/17 职场文书
伊索寓言读书笔记
2015/06/30 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
工作一年自我鉴定
2019/06/20 职场文书