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+MYSQL开发工具及资源收藏
Jan 02 PHP
php桌面中心(一) 创建数据库
Mar 11 PHP
php的memcache类分享(memcache队列)
Mar 26 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
Jun 30 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
Jul 08 PHP
php获取从html表单传递数组的方法
Mar 20 PHP
Linux php 中文乱码的快速解决方法
May 13 PHP
PHP使用finfo_file()函数检测上传图片类型的实现方法
Apr 18 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
php微信开发之谷歌测距
Jun 14 PHP
TP5.0框架实现无限极回复功能的方法分析
May 04 PHP
PHPstorm激活码2020年5月13日亲测有效
Sep 17 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基础陷阱题(变量赋值)
2012/09/12 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
Yii 实现数据加密和解密
2021/03/09 PHP
js+FSO遍历文件夹下文件并显示
2007/03/07 Javascript
jQuery oLoader实现的加载图片和页面效果
2015/03/14 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
2015/08/11 Javascript
JS实现鼠标框选效果完整实例
2016/06/20 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
详解vue-cli本地环境API代理设置和解决跨域
2017/09/05 Javascript
vue按需加载组件webpack require.ensure的方法
2017/12/13 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
2018/08/08 Javascript
vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)
2020/02/25 Javascript
用python实现批量重命名文件的代码
2012/05/25 Python
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
在Python中使用判断语句和循环的教程
2015/04/25 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
2018/06/26 Python
python调用百度REST API实现语音识别
2018/08/30 Python
Python3 单行多行万能正则匹配方法
2019/01/07 Python
Python TestCase中的断言方法介绍
2019/05/02 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
2019/07/06 Python
Python3和PyCharm安装与环境配置【图文教程】
2020/02/14 Python
Python字符串split及rsplit方法原理详解
2020/06/29 Python
python打开音乐文件的实例方法
2020/07/21 Python
用python写一个带有gui界面的密码生成器
2020/11/06 Python
python tkinter的消息框模块(messagebox,simpledialog)
2020/11/07 Python
房地产销售计划书
2014/01/10 职场文书
学校节能减排倡议书
2014/05/16 职场文书
生产车间标语
2014/06/11 职场文书
分居协议书范本(律师见证版)
2014/11/26 职场文书
初中作文评语
2014/12/25 职场文书
公司管理制度范本
2015/08/03 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
python随机打印成绩排名表
2021/06/23 Python
PyMongo 查询数据的实现
2021/06/28 Python
Django路由层如何获取正确的url
2021/07/15 Python
MySQL RC事务隔离的实现
2022/03/31 MySQL