解析PHP正则提取或替换img标记属性


Posted in PHP onJune 26, 2013

核心代码

<?php
/*PHP正则提取图片img标记中的任意属性*/
$str = '<center><img src="/uploads/images/20100516000.jpg" height="120" width="120"><br />PHP正则提取或更改图片img标记中的任意属性</center>';

//1、取整个图片代码
preg_match('/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i',$str,$match);
echo $match[0];

//2、取width
preg_match('/<img.+(width=\"?\d*\"?).+>/i',$str,$match);
echo $match[1];

//3、取height
preg_match('/<img.+(height=\"?\d*\"?).+>/i',$str,$match);
echo $match[1];

//4、取src
preg_match('/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i',$str,$match);
echo $match[1];

/*PHP正则替换图片img标记中的任意属性*/
//1、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg")
print preg_replace('/(<img.+src=\"?.+)(images\/)(.+\.(jpg|gif|bmp|bnp|png)\"?.+>)/i',"\${1}uc/images/\${3}",$str);
echo "<hr/>";

//2、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg",并省去宽和高
print preg_replace('/(<img).+(src=\"?.+)images\/(.+\.(jpg|gif|bmp|bnp|png)\"?).+>/i',"\${1} \${2}uc/images/\${3}>",$str);
?>

PHP获取所有图片地址正则表达式

不带图片的所有图片地址匹配:

preg_match_all('/(\s+src\s?\=)\s?[\'|"]([^\'|"]*)/is', $request->input('detail_content'), $match);

带data:image/的:

preg_match_all('/(\s+src\s?\=)\s?[\'|"]([^\'|"]*)[data]/is', $request->input('detail_content'), $match);

PHP正则获取一段字符串中所有图片地址

有的时候我们需要获取文章内容或者字符串中所有的图片地址,那么我们首先想到的就是正则匹配,该怎么实现呢,下面就是小编的亲测方法

$str = '<p><img src="/upload/20180621/1529561322214.png" /></p><p><img src="/Home/images/404.jpg" style="" title="404.jpg"/></p><p><img src="/upload/20180621/1529561322214.png" style="" title="1529561322214.png"/></p><p><br/></p>';
$preg = '/<img.*?src=[\"|\']?(.*?)[\"|\']?\s.*?>/i';//匹配img标签的正则表达式
preg_match_all($preg, $str, $allImg);//这里匹配所有的img
echo '<pre>';
print_r($allImg);

输出结果如下

(  
[0] => Array  
(  
  [0] => <img src="/upload/20180621/1529561322214.png" />  
  [1] => <img src="/Home/images/404.jpg" style="" title="404.jpg"/>  
  [2] => <img src="/upload/20180621/1529561322214.png" style="" title="1529561322214.png"/>  
)  
[1] => Array  
(  
  [0] => /upload/20180621/1529561322214.png  
  [1] => /Home/images/404.jpg  
  [2] => /upload/20180621/1529561322214.png  
)  
)

到此这篇关于解析PHP正则提取或替换img标记属性的文章就介绍到这了,更多相关PHP 正则提取 替换img标记属性内容请搜素三水点靠木以前的文章或下面相关文章,希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
PHP新手上路(八)
Oct 09 PHP
php_xmlhttp 乱码问题解决方法
Aug 07 PHP
php中函数的形参与实参的问题说明
Sep 01 PHP
php max_execution_time执行时间问题
Jul 17 PHP
基于php伪静态的实现详细介绍
Apr 28 PHP
php实现的Captcha验证码类实例
Sep 22 PHP
PHP数组操作类实例
Jul 11 PHP
php轻松实现文件上传功能
Mar 03 PHP
PHP设计模式之装饰器模式定义与用法简单示例
Aug 13 PHP
使用PHPExcel导出Excel表
Sep 08 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
Apr 26 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 PHP
php 在windows下配置虚拟目录的方法介绍
Jun 26 #PHP
关于PHP自动判断字符集并转码的详解
Jun 26 #PHP
安装apache2.2.22配置php5.4(具体操作步骤)
Jun 26 #PHP
php 批量生成html,txt文件的实现代码
Jun 26 #PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
Jun 26 #PHP
解析strtr函数的效率问题
Jun 26 #PHP
如何在smarty中增加类似foreach的功能自动加载数据
Jun 26 #PHP
You might like
学习php设计模式 php实现策略模式(strategy)
2015/12/07 PHP
php生成mysql的数据字典
2016/07/07 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
jQuery textarea的长度进行验证
2009/05/06 Javascript
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
动态改变div的z-index属性的简单实例
2013/08/08 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
整理Javascript事件响应学习笔记
2015/12/02 Javascript
使用bootstrapValidator插件进行动态添加表单元素并校验
2016/09/28 Javascript
实例解析angularjs的filter过滤器
2016/12/14 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
python时间整形转标准格式的示例分享
2014/02/14 Python
实例讲解Python中global语句下全局变量的值的修改
2016/06/16 Python
Linux 下 Python 实现按任意键退出的实现方法
2016/09/25 Python
python使用mysql的两种使用方式
2018/03/07 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
详解纯CSS3制作的20种loading动效
2017/07/05 HTML / CSS
CSS3悬停效果案例应用
2012/11/21 HTML / CSS
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
香港交友网站:be2香港
2018/07/22 全球购物
如何判断一段程序是由C 编译程序还是由C++编译程序编译的
2013/08/04 面试题
《走一步再走一步》教学反思
2014/02/15 职场文书
2014学雷锋活动心得体会
2014/03/10 职场文书
大课间体育活动方案
2014/03/12 职场文书
cf搞笑广告词
2014/03/14 职场文书
售后客服工作职责
2014/06/16 职场文书
地方白酒代理协议书
2014/10/25 职场文书
世界遗产导游词
2015/02/13 职场文书
七一建党节慰问信
2015/02/14 职场文书
婚前保证书范文
2015/02/28 职场文书
css3 filter属性的使用简介
2021/03/31 HTML / CSS
CSS3实现的3D隧道效果
2021/04/27 HTML / CSS