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 中的类
Oct 09 PHP
用PHP制作静态网站的模板框架(四)
Oct 09 PHP
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
May 15 PHP
session在PHP大型web应用中的使用
Jun 25 PHP
gd库图片下载类实现下载网页所有图片的php代码
Aug 20 PHP
PHP父类调用子类方法的代码例子
Apr 09 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
May 10 PHP
Laravel5中contracts详解
Mar 02 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
Sep 22 PHP
使用ltrace工具跟踪PHP库函数调用的方法
Apr 25 PHP
php中引用符号(&amp;)的使用详细介绍
Dec 06 PHP
Laravel 框架返回状态拦截代码
Oct 18 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
论坛头像随机变换代码
2006/10/09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
PHP 身份验证方面的函数
2009/10/11 PHP
PHP获取昨天、今天及明天日期的方法
2016/02/03 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
yii2实现分页,带搜索的分页功能示例
2017/01/07 PHP
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
JavaScript仿支付宝密码输入框
2015/12/29 Javascript
使用jQuery操作HTML的table表格的实例解析
2016/03/13 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
2017/08/17 Javascript
Angular中使用MathJax遇到的一些问题
2017/12/15 Javascript
详解如何实现一个简单的 vuex
2018/02/10 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
Python中__call__用法实例
2014/08/29 Python
在Python中marshal对象序列化的相关知识
2015/07/01 Python
python 如何快速找出两个电子表中数据的差异
2017/05/26 Python
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
python二维码操作:对QRCode和MyQR入门详解
2019/06/24 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
seek引发的python文件读写的问题及解决
2019/07/26 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
小结Python的反射机制
2020/09/28 Python
纯CSS3实现自定义Tooltip边框涂鸦风格的教程
2014/11/05 HTML / CSS
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
css3实现蒙版弹幕功能
2019/06/18 HTML / CSS
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
留学推荐信写作指南
2014/01/25 职场文书
打架检讨书300字
2014/02/02 职场文书
上班玩手机检讨书
2014/02/17 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
检讨书范文
2015/01/27 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python