解析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 不同编码下的字符串长度区分
Sep 26 PHP
php session和cookie使用说明
Apr 07 PHP
解析php中heredoc的使用方法
Jun 17 PHP
php获取客户端电脑屏幕参数的方法
Jan 09 PHP
php自定义hash函数实例
May 05 PHP
PHP获取当前日期和时间及格式化方法参数
May 11 PHP
php使用标签替换的方式生成静态页面
May 21 PHP
PHP生成唯一订单号
Jul 05 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
Mar 07 PHP
php base64 编码与解码实例代码
Mar 21 PHP
深入研究PHP中的preg_replace和代码执行
Aug 15 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 self,$this,const,static,-&amp;gt;的使用
2009/10/22 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
php中通过数组进行高效随机抽取指定条记录的算法
2013/09/09 PHP
php中的mongodb select常用操作代码示例
2014/09/06 PHP
详解PHP数据压缩、加解密(pack, unpack)
2016/12/17 PHP
PHP培训要多少钱
2017/06/06 PHP
YII框架http缓存操作示例
2019/04/29 PHP
newxtree.js代码
2007/03/13 Javascript
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
JS面向对象编程浅析
2011/08/28 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
jquery.post用法之type设置问题
2014/02/24 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
element-ui的回调函数Events的用法详解
2018/10/16 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
2019/09/19 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
python 测试实现方法
2008/12/24 Python
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
利用python模拟sql语句对员工表格进行增删改查
2017/07/05 Python
强悍的Python读取大文件的解决方案
2019/02/16 Python
python实现小程序推送页面收录脚本
2020/04/20 Python
简单整理HTML5的基本特性和语法
2016/02/18 HTML / CSS
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
美国在线咖啡、茶和餐厅供应商:LollicupStore
2018/05/04 全球购物
ColourPop美国官网:卡拉泡泡,洛杉矶彩妆品牌
2019/04/28 全球购物
我的梦中国梦演讲稿
2014/04/23 职场文书
大型会议策划方案
2014/05/17 职场文书
党的群众路线教育实践活动专题组织生活会发言材料
2014/10/17 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
60句有关成长的名言
2019/09/04 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers
MySQL常用慢查询分析工具详解
2022/08/14 MySQL