解析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来处理多个提交任务
May 08 PHP
理解php原理的opcodes(操作码)
Oct 26 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
Dec 10 PHP
php 深入理解strtotime函数的使用详解
May 23 PHP
测试php连接mysql是否成功的代码分享
Jan 24 PHP
PHP中多维数组的foreach遍历示例
Jun 13 PHP
ecshop后台编辑器替换成ueditor编辑器
Mar 03 PHP
PHP获取数组的键与值方法小结
Jun 13 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
Jul 03 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
Dec 07 PHP
PHP Include文件实例讲解
Feb 15 PHP
mac pecl 安装php7.1扩展教程
Oct 17 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
网络资源
2006/10/09 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
PHP几个实用自定义函数小结
2016/01/25 PHP
php中文字符串截取多种方法汇总
2016/10/06 PHP
jQuery提交表单ajax查询实例代码
2012/10/07 Javascript
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
浅谈Javascript的静态属性和原型属性
2015/05/07 Javascript
CSS图片响应式 垂直水平居中
2015/08/14 Javascript
JS实现可调整倒计时间代码分享
2015/08/18 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
jquery过滤特殊字符',防sql注入的实现方法
2016/08/17 Javascript
javascript动画之磁性吸附效果篇
2016/12/09 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
node.js学习之断言assert的使用示例
2017/09/28 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
重学JS之显示强制类型转换详解
2019/06/30 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
[01:45:05]VGJ.T vs Newbee Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python fileinput模块使用实例
2015/05/28 Python
一道python走迷宫算法题
2018/01/22 Python
深入浅析Python的类
2018/06/22 Python
python贪吃蛇游戏代码
2020/04/18 Python
python使用turtle库绘制奥运五环
2020/02/24 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
Python数据可视化实现漏斗图过程图解
2020/07/20 Python
python创建文本文件的简单方法
2020/08/30 Python
详解selenium + chromedriver 被反爬的解决方法
2020/10/28 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
函授自我鉴定
2013/11/06 职场文书
办公室主任职责范文
2013/11/08 职场文书
七年级英语教学反思
2014/01/15 职场文书
《分一分》教学反思
2014/04/13 职场文书
部队2014年终工作总结
2014/11/27 职场文书
小学生毕业评语
2014/12/26 职场文书
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
2023/05/07 HTML / CSS