解析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 相关文章推荐
在普通HTTP上安全地传输密码
Jul 21 PHP
php用户注册页面利用js进行表单验证具体实例
Oct 17 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
May 08 PHP
使用array_map简单搞定PHP删除文件、删除目录
Oct 29 PHP
PHP中array_slice函数用法实例详解
Nov 25 PHP
php代码架构的八点注意事项
Jan 25 PHP
php时间函数用法分析
May 28 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
yii2中关于加密解密的那些事儿
Jun 12 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
php中钩子(hook)的原理与简单应用demo示例
Sep 03 PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 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和ACCESS写聊天室(一)
2006/10/09 PHP
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
php实现webservice实例
2014/11/06 PHP
php猜单词游戏
2015/09/29 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
JSON格式化输出
2014/11/10 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
2016/05/18 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
form表单转Json提交的方法(推荐)
2016/09/23 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
2016/11/04 Javascript
纯js实现倒计时功能
2017/01/06 Javascript
详解vue跨组件通信的几种方法
2017/06/15 Javascript
微信小程序的分类页面制作
2017/06/27 Javascript
layui获取选中行数据的实例讲解
2018/08/19 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
Python操作Excel之xlsx文件
2017/03/24 Python
python 读写excel文件操作示例【附源码下载】
2019/06/19 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
pymysql模块的操作实例
2019/12/17 Python
python重要函数eval多种用法解析
2020/01/14 Python
Python基于Dlib的人脸识别系统的实现
2020/02/26 Python
Python加速程序运行的方法
2020/07/29 Python
Python装饰器如何实现修复过程解析
2020/09/05 Python
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
详解canvas绘制多张图的排列顺序问题
2019/01/21 HTML / CSS
绿色城市实施方案
2014/03/19 职场文书
工作说明书格式
2014/07/29 职场文书
2015年销售助理工作总结
2015/05/11 职场文书
借条如何写
2015/05/26 职场文书