解析PHP正则提取或替换img标记属性
<?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正则表达式匹配img中任意属性的方法
经常和图片打交道,不得不用到一些提取图片中scr.alt.title.等的属性,这里总结给大家一些常用的,感觉还不错,比较通用! PHP正则表达式匹配img中任意属性PHP 复制代码 代码如下: <?php /*PHP正则提取图片img标记中的任意属性*/ $str = '<center><img src="/uploads/images/20100516000.jpg" height="120" width="120"&
-
php正则提取html图片(img)src地址与任意属性的方法
简单版: <?php header("Content-Type: text/html;charset=utf-8"); $str = '<div class="ui-block-a" align="center"> <a href="online-39.html" rel="external nofollow" ><img class="lazy" w
-
PHP正则获取页面所有图片地址
<?php //取得页面所有的图片地址 function getimages($str) { $match_str = "/((http://)+([^ rn()^$!`"'|[]{}<>]*)((.gif)|(.jpg)|(.bmp)|(.png)|(.GIF)|(.JPG)|(.PNG)|(.BMP)))/"; preg_match_all ($match_str,$str,$out,PREG_PATTERN_ORDER); return $out; }
-
小谈php正则提取图片地址
迷上了正则,不断尝试着新花招,首先感谢TNA 的非完全输出RSS,然后再次感谢SH的强迫性学习.没有TNA,我不会去看正则,更不知道世界上有种这么牛的表达式:不是SH的死活说他不懂不知道,我也不会硬着头皮去琢磨,去改进.达到同一个目的,正则的表达方式可以不唯一,没有做不到,只有你没想到.可以这样说吧,正则就是玩设定规律,我大爱这种东西.没有比设定规律筛选东西更让我兴奋.感到awesome的了. 分享一下在php环境下使用正则提取图片地址的一些小心得: 图片网址规范的html代码无非就是 复制代码
-
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
因有一项目新闻发布系统,数据库内容字段中存储的是原图的路径(当然还有其他文字内容啦,内容里插图时,存的是图片路径),但前台想使用缩略图,琢磨1小时余,得到以下结果,可解决问题(取img标签会了,取别的标签任意属性自然也会了): 复制代码 代码如下: <?php /*正则取图片img标记中的任意属性*/ $word = '<p height="22" align="cenetr">111 22</p> <img src="
-
正则表达式提取img的src
要匹配的字符串:<img src=image/ad1.gif width="128" height="36"/><img src='image/ad2.gif' width="128" height="36" /> 正则表达式:<img[\s]+src[\s]*=[\s]*((['"](?<src>[^'"]*)[\'"])|(?<src>[^
-
PHP提取字符串中的图片地址[正则表达式]
复制代码 代码如下: <?php $str='<p><img border="0" src="upfiles/2009/07/1246430143_1.jpg" alt=""/></p>'; $pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/"; preg_
-
解析PHP正则提取或替换img标记属性
<?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+[^>]
-
Shell中使用grep、sed正则提取和替换字符串
Linux中使用grep正则提取字符串 echo office365 | grep -P '\d+' -o find . -name "*.txt" | xargs grep -P 'regex' -o xargs会将find结果作为grep的输入,防止find结果过多无法处理 -P参数表明要应用正则表达式 -o表示只输出匹配的字符串,这样我们就可以把正则匹配到的结果拿到了. Linux.Mac OS中使用sed正则提取字符串 Mac OS上用正则的话要用e参数取代P参数,也可以用se
-
Java正则提取中括号中的内容操作示例
本文实例讲述了Java正则提取中括号中的内容操作.分享给大家供大家参考,具体如下: 曾经在工作中遇到一个问题,就是需要提取字符串中每一个中括号里的内容,在网上搜了一下,发现用正则表达式可以提取中括号中的内容,具体实现如下: import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ExtractMes
-
java基于正则提取字符串中的数字功能【如提取短信中的验证码】
本文实例讲述了java基于正则提取字符串中的数字功能.分享给大家供大家参考,具体如下: 使用Java正则可以很方便的从字符串中提取符合条件的内容. 1.提取字符串中所有的手机号: private void getPhoneNum(String smsBody) { Pattern pattern = Pattern.compile("(13|14|15|18)\\d{9}"); Matcher matcher = pattern.matcher(smsBody); while (mat
-
mysql基于正则实现模糊替换字符串的方法分析
本文实例讲述了mysql基于正则实现模糊替换字符串的方法.分享给大家供大家参考,具体如下: 例如: abcd(efg)hijk 替换之后是abcdhijk 复制代码 代码如下: update tabaleA set name = replace(name, substring(name, locate('<contact>', name),locate('</contact>', name)-locate('<contact>'+10, name)),''); 执行之后
-
Python使用re模块正则提取字符串中括号内的内容示例
本文实例讲述了Python使用re模块正则提取字符串中括号内的内容操作.分享给大家供大家参考,具体如下: 直接上代码吧: # -*- coding:utf-8 -*- #! python2 import re string = 'abe(ac)ad)' p1 = re.compile(r'[(](.*?)[)]', re.S) #最小匹配 p2 = re.compile(r'[(](.*)[)]', re.S) #贪婪匹配 print(re.findall(p1, string)) print(
-
python3正则提取字符串里的中文实例
如下所示: # -*- coding: utf-8 -*- import re #过滤掉除了中文以外的字符 str = "hello,world!!%[545]你好234世界..." str = re.sub("[A-Za-z0-9\!\%\[\]\,\.]", "", str) print(str) #提取字符串里的中文,返回数组 pattern="[\u4e00-\u9fa5]+" regex = re.compile(p
-
JAVA 使用正则提取A标签以及href链接
正则提取A标签以及href链接 代码如下: String content = "<p>下载地址:<a title=\"持续更新补丁下载地址\" target=\"_blank\" href=\"http://pan.baidu.com/s/xxxx\">持续更新补丁下载地址</a></p><p>"; Pattern pattern_a = compile("
随机推荐
- angularJS+requireJS实现controller及directive的按需加载示例
- Javascript实现图片不间断滚动的代码
- Windows2003下安装Apache+php+jsp+mysql
- 一串字字符中多个逗号替换为一个 既标准分隔符(正则表达式)
- 通过yum升级CentOS/RHEL最小化安装的方法
- Java ArrayList 数组之间相互转换
- WebService出现"因 URL 意外地以 结束,请求格式无法识别"的解决方法
- 探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
- ajax+jsp草稿自动保存的实现代码
- Android开发中实现IOS风格底部选择器(支持时间 日期 自定义)
- 原生JS实现跑马灯效果
- FireFox的getYear的注意事项
- php的POSIX 函数以及进程测试的深入分析
- SQL Server存储过程中使用表值作为输入参数示例
- JQuery点击事件回到页面顶部效果的实现代码
- 让Win2008+IIS7+ASP.NET支持10万并发请求
- Nginx的nginx.conf配置文件中文注释说明
- js钢琴按钮波浪式图片排列效果代码分享
- FSO+递归生成文件列表(xml)
- C#中各种计时器用法小结