解析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 相关文章推荐
从Web查询数据库之PHP与MySQL篇
Sep 25 PHP
php 上传文件类型判断函数(避免上传漏洞 )
Jun 08 PHP
php错误、异常处理机制(补充)
May 07 PHP
php中函数前加&amp;符号的作用分解
Jul 08 PHP
php实现的Cookies操作类实例
Sep 24 PHP
php生成shtml类用法实例
Dec 09 PHP
PHP使用array_merge重新排列数组下标的方法
Jul 22 PHP
php微信公众平台交互与接口详解
Nov 28 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
Apr 16 PHP
使用PHPWord生成word文档的方法详解
Jun 06 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
May 01 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
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
一个可以找出源代码中所有中文的工具
2006/10/25 PHP
php下HTTP Response中的Chunked编码实现方法
2008/11/19 PHP
PHP JSON格式数据交互实例代码详解
2011/01/13 PHP
浅谈PHP解析URL函数parse_url和parse_str
2014/11/11 PHP
老生常谈PHP面向对象之标识映射
2017/06/21 PHP
JQuery EasyUI 对话框的使用方法
2010/10/24 Javascript
window.location.href IE下跳转失效的解决方法
2014/03/27 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
解决JS请求服务器gbk文件乱码的问题
2015/10/16 Javascript
不得不分享的JavaScript常用方法函数集(下)
2015/12/25 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
jquery 实现滚动条下拉时无限加载的简单实例
2016/06/01 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
JS实现淡入淡出图片效果的方法分析
2016/12/20 Javascript
JavaScript实现星星等级评价功能
2017/03/22 Javascript
JavaScript中清空数组的三种方式
2017/03/22 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
vue 1.x 交互实现仿百度下拉列表示例
2017/10/21 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
python操作 hbase 数据的方法
2016/12/18 Python
详解Python中表达式i += x与i = i + x是否等价
2017/02/08 Python
python3之模块psutil系统性能信息使用
2018/05/30 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
python实战教程之自动扫雷
2018/07/13 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
解决python 找不到module的问题
2020/02/12 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
印尼穆斯林时尚购物网站:Hijabenka
2016/12/10 全球购物
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
材料物理专业求职信
2014/09/01 职场文书
开展党的群众路线教育实践活动总结报告
2014/10/31 职场文书
小型婚礼主持词
2015/06/30 职场文书
导游词之麻姑仙境
2019/11/18 职场文书
Spring Data JPA框架的核心概念和Repository接口
2022/04/28 Java/Android