PHP 正则表达式匹配 img ,PHP 正则提取或替换图片 img 标记中的任意属性。

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

PHP 正则表达式匹配 img ,PHP 正则提取或替换图片 img 标记中的任意属性。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

<?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);

?>

时间: 2024-12-24 19:15:59

PHP 正则表达式匹配 img ,PHP 正则提取或替换图片 img 标记中的任意属性。的相关文章

[ jquery 方法 text([val|fn]) ] 此方法操作匹配的元素或元素集中的内容,相当于javascript中的innerText属性

取得所有匹配元素的内容:结果是由所有匹配元素包含的文本内容组合起来的文本,这个方法对HTML和XML文档都有效,相当于javascript中的innerText属性,可读可写,但是无法解析HTML标签: 如果传入的是callback,此函数返回一个字符串并且参数解析如下: 1.index为元素在集合中的索引位置 2.text为原先的text值. 实例: <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Ins

一个通用的php正则表达式匹配或检测或提取特定字符类

在php开发时,日常不可或缺地会用到正则表达式,可每次都要重新写,有时忘记了某一函数还要翻查手册,所以,抽空写了一个关于日常所用到的正则表达式区配类,便于随便移置调用.(^_^有点偷懒). /*///////////////////////////////////////////////////////////// * 类MatchAll功能:主要用于php日常所用到的几种检测匹配或提取特定字符.// * 主要参数设置说明: $target_str 为目标字符即需要检测的字符或数字.// * $

正则表达式匹配末尾数字并+1后替换

在做unity3d的一个增强工具,用到了下 有需要的朋友凑合看,go.name是string类型 go.name = Selection.activeGameObject.name; Regex rex = new Regex(@"\d", RegexOptions.RightToLeft); var result = rex.Match(go.name); if (result.Success) { var tmp = int.Parse(result.Groups[0].Value

Jmeter正则提取_实现前后衔接请求

正则提取是Jmeter常用的方法之一,下面就正则提取进行简单介绍. 如图所示,我这里有2个请求,下面我们是实现下第一个请求返回的"pushId"返回结果作为第二个请求的请求字段之一. 首先我们新建一个正则提取器到第一个请求中. 然后解释下正则提取各个配置的含义: 引用名称:整个正则的名称,主要作用是方便后面引用. 正则表达式:括号中表示的是要提取的部分,其中  .*? 是非贪婪匹配 模板:如果有多个正则匹配.即就是多个(.*?)时,取具体哪一个,$1$表示取第一个匹配 匹配数字:正则提

JavaScript——正则匹配、正则提取、正则替换

正则匹配 // 匹配日期 var dateStr = '2015-10-10'; var reg = /^\d{4}-\d{1,2}-\d{1,2}$/ console.log(reg.test(dateStr)); 正则提取 // 1. 提取工资 var str = "张三:1000,李四:5000,王五:8000."; var array = str.match(/\d+/g); console.log(array); // 2. 提取email地址 var str = "

中文正则表达式匹配-正则中文匹配

原文链接:http://caibaojian.com/zhongwen-regexp.html 这篇文章主要讲如何使用正则匹配中文字符,中文正则表达式的匹配规则不像其他正则规则一样容易记住,下面一起看看这个中文正则表达式是怎么样的. \w匹配的仅仅是中文,数字,字母,对于国人来讲,仅匹配中文时常会用到,见下 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 或许你也需要匹配双字节字符,中文也是双字节的字符 匹配双字节字符(包括汉字在内):[^\x00-\xff] 注:可以用来计算字符串

[转]使用正则表达式匹配嵌套Html标签

原文链接 https://msdn.microsoft.com/zh-cn/ff686933.aspx 本文来自Kevin Yang博客 作者:Kevin Yang 概述 正则表达式是做文本解析工作必不可少的技能.如Web服务器日志分析,网页前端开发等.很多高级文本编辑器都支持正则表达式的一个子集,熟练掌握正则表达式,经常能够使你的一些工作事半功倍.例如统计代码行数,只需一个正则就搞定.嵌套Html标签的匹配是正则表达式应用中一个比较难的话题,因为它涉及到的正则语法比较多,也比较难.因此也就更有

使用正则表达式匹配任意字符包括空格和换行符

注:元字符包括\ | ( ) [ ] { } ^ $ * + ? . ) 匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:\n\s*\r评注:可以用来删除空白行 匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</>|<.*? />

JMeter 如何把上一个请求的结果作为下一个请求的参数 —— 使用正则提取器

有这样一个压力测试环境,有一个上传页面,上传成功之后服务器会返回一些上传信息(比如文件的 id 或者保存路径之类的信息),然后压力机会继续下一个请求,比如调整 id 为 xx 的文件的一些信息等等.问题来了:JMeter 是不知道上传后文件的 id 的,第二个请求势必从第一个请求的返回结果中提取出文件 id,然后依此为参数发起第二次请求.那么 JMeter 如何把上一个请求的结果作为下一个请求的参数呢?本文将介绍如何使用正则提取器解决这个问题.        1. 提参采样器添加正则表达式提取器