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基础学习之变量的使用
Jun 09 PHP
php上传图片存入数据库示例分享
Mar 11 PHP
php验证是否是md5编码的简单代码
Apr 01 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
May 08 PHP
ThinkPHP CURD方法之data方法详解
Jun 18 PHP
php中的字符编码转换函数用法示例
Oct 20 PHP
php中adodbzip类实例
Dec 08 PHP
php通过获取头信息判断图片类型的方法
Jun 26 PHP
php生成数字字母的验证码图片
Jul 14 PHP
yum命令安装php7和相关扩展
Jul 04 PHP
phpstudy的php版本自由修改的方法
Oct 18 PHP
PHP执行linux命令6个函数代码实例
Nov 24 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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
2013/06/27 PHP
php中函数前加&amp;符号的作用分解
2014/07/08 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
一些相见恨晚的 JavaScript 技巧
2010/04/25 Javascript
Jquery常用技巧收集整理篇
2010/11/14 Javascript
jquery 使用点滴函数代码
2011/05/20 Javascript
学习从实践开始之jQuery插件开发 菜单插件开发
2012/05/03 Javascript
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
js open() 与showModalDialog()方法使用介绍
2013/09/10 Javascript
PHP+jquery+ajax实现分页
2016/12/09 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
javascript编程开发中取色器及封装$函数用法示例
2017/08/09 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
微信小程序按钮去除边框线分享页面功能
2018/08/27 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
2019/02/02 Javascript
vue draggable resizable 实现可拖拽缩放的组件功能
2019/07/15 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
JavaScript实现HSL拾色器
2020/05/21 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
介绍Python中的fabs()方法的使用
2015/05/14 Python
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
Python使用reportlab模块生成PDF格式的文档
2019/03/11 Python
python 实现让字典的value 成为列表
2019/12/16 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
什么是python的必选参数
2020/06/21 Python
用html5的canvas和JavaScript创建一个绘图程序的简单实例
2016/07/06 HTML / CSS
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
函数指针的定义是什么
2016/08/14 面试题
《春笋》教学反思
2014/04/15 职场文书
优质护理服务演讲稿
2014/05/07 职场文书
2015年公务员试用期工作总结
2015/05/28 职场文书
党员发展大会主持词
2015/07/03 职场文书
浅谈JS的原型和原型链
2021/06/04 Javascript