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

<?php
/*PHP正则提取图片img标记中的任意属性*/
$str = '<center><img src="https://img.lookmw.cn/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="https://img.lookmw.cn/images/20100516000.jpg"替换为src="https://img.lookmw.cn/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="https://img.lookmw.cn/images/20100516000.jpg"替换为src="https://img.lookmw.cn/uc/images/20100516000.jpg",并省去宽和高
print preg_replace('/(<img).+(src=\"?.+)images\/(.+\.(jpg|gif|bmp|bnp|png)\"?).+>/i',"\${1} \${2}uc/images/\${3}>",$str);
?>

时间: 2024-08-01 09:00:04

解析PHP正则提取或替换img标记属性_php技巧的相关文章

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

<?php/*PHP正则提取图片img标记中的任意属性*/$str = '<center><img src="https://img.lookmw.cn/images/20100516000.jpg" height="120" width="120"><br />PHP正则提取或更改图片img标记中的任意属性</center>'; //1.取整个图片代码preg_match('/<s*i

wordpress中preg_match正则提取和替换字符串

把以下代码:  代码如下 复制代码 <img src="/wp-content/uploads/2014/02/hbzy1.gif" alt="hbzy"  width="60" height="60" class="alignnone size-full wp-image-2100" /> 输出显示的时候替换成:  代码如下 复制代码 <div class="gif-box&q

php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)_php技巧

因有一项目新闻发布系统,数据库内容字段中存储的是原图的路径(当然还有其他文字内容啦,内容里插图时,存的是图片路径),但前台想使用缩略图,琢磨1小时余,得到以下结果,可解决问题(取img标签会了,取别的标签任意属性自然也会了): 复制代码 代码如下: <?php /*正则取图片img标记中的任意属性*/ $word = '<p height="22" align="cenetr">111 22</p> <img src="

深入解析PHP的Yii框架中的缓存功能_php技巧

数据缓存是指将一些 PHP 变量存储到缓存中,使用时再从缓存中取回.它也是更高级缓存特性的基础,例如查询缓存和内容缓存. 如下代码是一个典型的数据缓存使用模式.其中 $cache 指向缓存组件: // 尝试从缓存中取回 $data $data = $cache->get($key); if ($data === false) { // $data 在缓存中没有找到,则重新计算它的值 // 将 $data 存放到缓存供下次使用 $cache->set($key, $data); } // 这儿

PHP怎样用正则抓取页面中的网址_php技巧

前言 链接也就是超级链接,是从一个元素(文字.图片.视频等)链接到另一个元素(文字.图片.视频等).网页中的链接一般有三种,一种是绝对URL超链接,也就是一个页面的完整路径:另一种是相对URL超链接,一般都链接到同一网站的其他页面:还有一种是页面内的超链接,这种一般链接到同一页面内的其他位置. 搞清楚了链接的种类,就知道要抓链接,主要还是绝对URL超链接和相对URL超链接.要写出正确的正则表达式,就必须要了解我们查找的对象的模式. 先说绝对链接,也叫作URL(Uniform Resource L

php用正则判断是否为数字的方法_php技巧

前两天朋友的一个网站上有人利用php注入提交flash游戏分数,后来找原因才发现是有一位参数没有做数字判断导致. 本来保存游戏分数是 game.php?ac=save&fgid=1这个形式来实现,在php网页里面fgid直接调用,没有做任何的过滤.很多人利用在fgid=1后面加一个字母(fgid=1a),来实现一些非法操作. 假如  gamlist table 里面有一个游戏  fgid为102 select gname from gamelist where fgid='102′; selec

PHP中strtr字符串替换用法详解_php技巧

本文实例讲述了PHP中strtr字符串替换用法.分享给大家供大家参考.具体分析如下: strtr(string,from,to)或者strtr(string,array) 首先针对strtr函数第一种方式,我们看看下面的举例,代码如下: 复制代码 代码如下: <?php echo strtr("I Love you","Lo","lO"); ?> 得到的结果是: 1 I lOve yOu 这个结果提醒我们,1.strtr它是区分大小写

php简单解析mysqli查询结果的方法(2种方法)_php技巧

本文实例讲述了php简单解析mysqli查询结果的方法.分享给大家供大家参考,具体如下: 可将查询结果放入对象或数组中: 1. 将查询结果放入对象: $sql="select name,brief from cars"; $result=mysqli->query($sql); while($row=$result->fetch_object()) { echo $row->name; echo $row->brief; } 2. 放入数组: $sql=&quo

PHP正则的Unknown Modifier错误解决方法_php技巧

如下正则: $a='2<span><nobr>tóng<span class="h">dòng</span></nobr><br>垌</span>3'; echo preg_replace('/<span class="h">[^<]*?</span>/','',$a); 会提示: Warning: preg_replace(): Unknown mod