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 相关文章推荐
如何在Ubuntu下启动Apache的Rewrite功能
Jul 05 PHP
PHP中加密解密函数与DES加密解密实例
Oct 17 PHP
PHP框架Laravel的小技巧两则
Feb 10 PHP
PHP的文件操作与算法实现的面试题示例
Aug 10 PHP
PHP发送短信代码分享
Aug 11 PHP
php模拟post上传图片实现代码
Jun 24 PHP
iOS10推送通知开发教程
Sep 19 PHP
YII2 实现多语言配置的方法分享
Jan 11 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
Feb 09 PHP
PHP生成短网址的思路以及实现方法的详解
Mar 25 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
Apr 10 PHP
浅谈PHP array_search 和 in_array 函数效率问题
Oct 15 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 fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
使用session判断用户登录用户权限(超简单)
2013/06/08 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
PHP校验15位和18位身份证号的类封装
2018/11/07 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
javascript对select标签的控制(option选项/select)
2013/01/31 Javascript
javascript实现跳转菜单的具体方法
2013/07/05 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
基于jQuery实现照片墙自动播放特效
2017/01/12 Javascript
详解RequireJs官方使用教程
2017/10/31 Javascript
为输入框加入数字js校验代码分享
2017/11/02 Javascript
Node.js搭建小程序后台服务
2018/01/03 Javascript
vue通过路由实现页面刷新的方法
2018/01/25 Javascript
vue.js2.0点击获取自己的属性和jquery方法
2018/02/23 jQuery
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
解决vue项目router切换太慢问题
2020/07/19 Javascript
在vue中使用回调函数,this调用无效的解决
2020/08/11 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
jQuery实现简单弹幕制作
2020/12/10 jQuery
利用Python获取操作系统信息实例
2016/09/02 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
通过实例解析Python调用json模块
2019/12/11 Python
windows python3安装Jupyter Notebooks教程
2020/04/13 Python
python中关于数据类型的学习笔记
2020/07/19 Python
python 如何调用 dubbo 接口
2020/09/24 Python
python 实现端口扫描工具
2020/12/18 Python
优秀护士先进事迹
2014/05/08 职场文书
大连导游词
2015/02/12 职场文书
个人廉政承诺书
2015/04/28 职场文书
Python机器学习之逻辑回归
2021/05/11 Python