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 相关文章推荐
Windows下PHP5和Apache的安装与配置
Sep 05 PHP
PHP概述.
Oct 09 PHP
php遍历数组的方法分享
Mar 22 PHP
深入了解PHP类Class的概念
Jun 14 PHP
解析php类的注册与自动加载
Jul 05 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
php中Snoopy类用法实例
Jun 19 PHP
PHP加密解密实例分析
Dec 25 PHP
PHP使用PDO抽象层获取查询结果的方法示例
May 10 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
PHP中上传文件打印错误错误类型分析
Apr 14 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
Nov 19 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支持页面回退的两种方法
2008/01/10 PHP
apache+php+mysql安装配置方法小结
2010/08/01 PHP
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
PHP以mysqli方式连接类完整代码实例
2014/07/15 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
php语法检查的方法总结
2019/01/21 PHP
jQuery 常见学习网站与参考书
2009/11/09 Javascript
16个最流行的JavaScript框架[推荐]
2011/05/29 Javascript
jquery右下角弹出提示框示例代码
2013/10/08 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
js实现iPhone界面风格的单选框和复选框按钮实例
2015/08/18 Javascript
jQuery内容筛选选择器实例代码
2017/02/06 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
Vue使用json-server进行后端数据模拟功能
2018/04/17 Javascript
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
vue简单练习 桌面时钟的实现代码实例
2019/09/19 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
python中的字典使用分享
2016/07/31 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
Win8.1下安装Python3.6提示0x80240017错误的解决方法
2018/07/31 Python
Python tkinter label 更新方法
2018/10/11 Python
Falsk 与 Django 过滤器的使用与区别详解
2019/06/04 Python
python使用 __init__初始化操作简单示例
2019/09/26 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2020/07/14 Python
python3将变量输入的简单实例
2020/08/19 Python
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
在什么时候需要使用"常引用"
2015/12/31 面试题
Servlet如何得到客户端机器的信息
2014/10/17 面试题
校园标语大全
2014/06/19 职场文书
公司承诺函范文
2015/01/21 职场文书
大学生就业推荐表自我评价
2015/03/02 职场文书
实例详解Python的进程,线程和协程
2022/03/13 Python
SpringBoot 集成短信和邮件 以阿里云短信服务为例
2022/04/22 Java/Android