<?php header('Content-Type: text/html; charset=utf-8'); /** * $str,要进行处理的内容 * $ext,要匹配的扩展名 */ function img_match($str,$ext){ $list = array(); //先取出所有img标签文本 $c1 = preg_match_all('/<img\s.*?>/', $str, $m1); //对所有的img标签进行取属性 for($i=0; $i<$c1; $i++){ //匹配出所有的属性 $c2 = preg_match_all('/(\w+)\s*=\s*(?:(?:(["\'])(.*?)(?=\2))|([^\/\s]*))/', $m1[0][$i], $m2); //将匹配完的结果进行结构重组 for($j=0; $j<$c2; $j++) { $list[$i][$m2[1][$j]] = !empty($m2[4][$j]) ? $m2[4][$j] : $m2[3][$j]; } } return $list; } //罗列图片后缀从而实现多扩展名匹配 $ext = 'jpg|jpeg|gif|bmp|png'; //模仿一个网站 $str = <<<___ <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>阅谁问君诵,水落清香浮</title> </head> <body> <img src="http://dl2.iteye.com/upload/attachment/0126/9800/65dcffd0-304b-3d61-b48e-ca9f0393dfd3.jpg" alt="img1" title="img1" onClick="test();"> <p>onestopweb.iteye.com</p> <img src="http://dl2.iteye.com/upload/attachment/0126/9802/9190af90-ba41-3901-b9e0-dda6d9e9b378.jpg" alt="img2" title="img2" onClick="test2();"> <img src="http://dl2.iteye.com/upload/attachment/0126/9804/25b3a4bc-0625-3483-8fcb-c21a8b813708.jpg" title="img3" onClick="test();"> <img src="http://dl2.iteye.com/upload/attachment/0126/9806/e54a93ad-f3bf-38ec-8194-952a387a6785.jpg" alt="img4" title="img4"> </body> </html> ___; //测试效果 $img_list = img_match($str,$ext); var_dump($img_list);
效果图:
相关推荐
总的来说,通过使用正则表达式,我们可以方便地在PHP中处理HTML文档中的`img`标签,提取或修改其属性。这种方法对于新闻发布系统或者其他需要动态处理图像链接的Web应用来说非常实用,可以轻松实现从原始图片路径到...
.+)`:匹配img标签直到src属性值开始的位置。 - `(images\/)`:匹配字符串"images/"并捕获,使其在替换中可以被引用。 - `(.+\.(jpg|gif|bmp|png)\"?.+>)`:匹配文件名和文件扩展名,直到img标签结束。 在上述替换...
通过这个正则表达式,我们可以获取到整个<img>标签,包括其中的src属性值。 2. 提取<img>标签中的width和height属性 - 提取width属性使用的正则表达式是`/<img.+(width=\"?\d*\"?).+>/i`。 - 提取height属性使用的...
在提供的代码中,`preg_rule`定义了一个正则表达式,用于匹配`<img>`标签中的`src`属性值。这个正则表达式的结构如下: ```regex /<[img|IMG].*?src=[\'|\"](.*?(?:[\.jpg|\.jpeg|\.png|\.gif|\.bmp]))[\'|\"].*?[\...
在PHP和JavaScript中应用该正则表达式来提取img标签的src属性值。 ##### PHP示例代码: ```php $str='<center><imgsrc="/uploads/images/***.jpg"height="120"width="120"> ...</center>'; preg_match('/*img\...
s*([^>"'s]*)/i`的目的是在字符串中查找`<img>`标签,并且匹配其中的`src`属性值。其中: - `<img`表示匹配`<img`字符开始; - `.*`表示匹配任意数量的任意字符; - `srcs*`表示`src`字符串,后面跟着一个`s*`表示...
在本篇文档中,作者演示了如何使用PHP的正则表达式功能来提取HTML中的<img>标签的src属性值以及其他属性,如width和height。通过这种方式,开发者可以在处理HTML内容时,快速定位到需要的信息。 首先,文档提出一个...
CSS API包含选择器、属性和值,如`color`、`font-size`、`padding`等,用于设置文字颜色、字体大小和元素间距。CSS3引入了许多新特性,如响应式设计、过渡效果、动画和伪类等,进一步丰富了网页设计的可能性。 ...
)>/is`,可以找到所有 `img` 标签及其 `src` 属性。`preg_match_all` 函数用于查找所有匹配项,然后循环遍历结果。 4. **分析域名**: 使用 `/https?:\/\/([^\/]+).*/i` 正则表达式,可以提取URL中的域名部分,`...
如果需要匹配内部有属性值的标签,可以使用稍微复杂的正则表达式: ```php $tag = 'div'; // 想要匹配的标签 $attribute = 'id="header"'; // 属性 $source = '<div id="header">...</div>'; // XML或HTML内容 preg...
PHP正则替换处理HTML页面的方法主要涉及到在PHP中使用正则表达式对HTML文档内容进行查找和替换操作,以达到修改页面元素属性的目的。HTML页面是由各种标签组成的,这些标签在正则表达式中需要特别处理,因为标签的...
`匹配属性值周围的单引号或双引号(可能有也可能没有);`([^'">]*)`捕获引号内的src值;`\1`表示引用前面匹配的引号;`([^>])*>`捕获任意非尖括号字符直到标签结束。标志`ig`表示全局匹配(g)和不区分大小写(i)...
### PHP正则匹配图片并给图片加链接详解 在日常的网站开发中,我们经常会遇到需要处理HTML内容的情况,比如给文章中的图片自动添加链接、调整图片大小等。本文将详细解析如何使用PHP中的正则表达式来实现给文章中的...
少数标签如` `和`<img>`是自闭和标签,不需要结束标签。如果HTML文档中存在未闭合的开始标签,解析器在遇到下一个开始标签时可能无法正确识别元素层级,从而导致页面布局混乱。 接下来,我们可以使用PHP的正则...
这个正则表达式用于提取`<img>`标签的`src`属性值。 - `/`:正则表达式的分隔符,可以使用任何非字母数字的字符作为分隔符。 - `src="`:匹配`src="`字符串。 - `([^<]*)`:捕获组,匹配任何不是`的字符,这将...
在前端开发过程中,...另外,正则表达式在处理一些特殊字符时(例如`src`属性值中的引号),需要确保表达式能正确处理这些特殊字符,否则可能会出现匹配错误。在使用正则表达式时,应该测试各种情况以确保其健壮性。
在提取图片地址的场景中,我们使用正则表达式来定义一个匹配<img>标签内src属性值的模式,然后通过PHP的正则表达式函数preg_match_all()来找出所有匹配的结果。 正则表达式中的关键点如下: - `/`:这是正则表达式...
文章中的代码示例展示了如何通过正则表达式匹配并提取img标签的各种属性值,以及如何在提取属性值后对其进行修改。 2. img标签的属性 img标签是HTML中用于嵌入图片的标记,它可以包含多个属性,比如src(图片源...
这个表达式的作用是匹配出所有包含在`src`属性值中的图片链接,其后缀包括常见的图片格式如gif、jpg、jpeg、bmp、png。正则中的`isU`是修饰符,`i`表示不区分大小写,`s`使得`.`匹配包括换行符在内的所有字符,`U`...