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来与ODBC数据连接
Oct 09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
Dec 13 PHP
Discuz 5.0 中读取纯真IP数据库函数分析
Mar 16 PHP
PHP+FLASH实现上传文件进度条相关文件 下载
Jul 21 PHP
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
Sep 30 PHP
php后门URL的防范
Nov 12 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
Oct 30 PHP
PHP中使用curl入门教程
Jul 02 PHP
smarty学习笔记之常见代码段用法总结
Mar 19 PHP
PHP符合PSR编程规范的实例分享
Dec 21 PHP
THINKPHP在添加数据的时候获取主键id的值方法
Apr 03 PHP
php使用redis的几种常见操作方式和用法示例
Feb 20 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中获取url与物理路径的总结
2013/06/21 PHP
PHP实现清除MySQL死连接的方法
2016/07/23 PHP
Exjs 入门篇
2010/04/07 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
2011/09/09 Javascript
js对图片base64编码字符串进行解码并输出图像示例
2014/03/17 Javascript
js如何打印object对象
2015/10/16 Javascript
location.hash保存页面状态的技巧
2016/04/28 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
2017/01/14 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
2017/12/01 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
Vue实现数据表格合并列rowspan效果
2020/11/30 Javascript
利用JS响应式修改vue实现页面的input值
2019/09/02 Javascript
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
numpy中的ndarray方法和属性详解
2019/05/27 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
2019/09/18 Python
PyTorch中的Variable变量详解
2020/01/07 Python
keras中的backend.clip用法
2020/05/22 Python
Python实现手势识别
2020/10/21 Python
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
美国肌肉和力量商店:Muscle & Strength
2019/06/22 全球购物
天网工程实施方案
2014/03/26 职场文书
搞笑车尾标语
2014/06/23 职场文书
班组拓展活动方案
2014/08/14 职场文书
模范班主任事迹材料
2014/12/17 职场文书
学校端午节活动总结
2015/02/11 职场文书
用python修改excel表某一列内容的操作方法
2021/06/11 Python
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL
浅谈MySQL之浅入深出页原理
2021/06/23 MySQL
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL