`

PHP 正则获取IMG各属性值

阅读更多
<?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);

 

效果图:

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 70.6 KB
1
0
分享到:
评论

相关推荐

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

    总的来说,通过使用正则表达式,我们可以方便地在PHP中处理HTML文档中的`img`标签,提取或修改其属性。这种方法对于新闻发布系统或者其他需要动态处理图像链接的Web应用来说非常实用,可以轻松实现从原始图片路径到...

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

    .+)`:匹配img标签直到src属性值开始的位置。 - `(images\/)`:匹配字符串"images/"并捕获,使其在替换中可以被引用。 - `(.+\.(jpg|gif|bmp|png)\"?.+&gt;)`:匹配文件名和文件扩展名,直到img标签结束。 在上述替换...

    php正则表达式匹配img中任意属性的方法

    通过这个正则表达式,我们可以获取到整个&lt;img&gt;标签,包括其中的src属性值。 2. 提取&lt;img&gt;标签中的width和height属性 - 提取width属性使用的正则表达式是`/&lt;img.+(width=\"?\d*\"?).+&gt;/i`。 - 提取height属性使用的...

    PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例

    在提供的代码中,`preg_rule`定义了一个正则表达式,用于匹配`&lt;img&gt;`标签中的`src`属性值。这个正则表达式的结构如下: ```regex /&lt;[img|IMG].*?src=[\'|\"](.*?(?:[\.jpg|\.jpeg|\.png|\.gif|\.bmp]))[\'|\"].*?[\...

    正则表达式提取img的src

    在PHP和JavaScript中应用该正则表达式来提取img标签的src属性值。 ##### PHP示例代码: ```php $str='&lt;center&gt;&lt;imgsrc="/uploads/images/***.jpg"height="120"width="120"&gt; ...&lt;/center&gt;'; preg_match('/*img\...

    PHP正则获取页面所有图片地址

    s*([^&gt;"'s]*)/i`的目的是在字符串中查找`&lt;img&gt;`标签,并且匹配其中的`src`属性值。其中: - `&lt;img`表示匹配`&lt;img`字符开始; - `.*`表示匹配任意数量的任意字符; - `srcs*`表示`src`字符串,后面跟着一个`s*`表示...

    php正则提取html图片(img)src地址与任意属性的方法

    在本篇文档中,作者演示了如何使用PHP的正则表达式功能来提取HTML中的&lt;img&gt;标签的src属性值以及其他属性,如width和height。通过这种方式,开发者可以在处理HTML内容时,快速定位到需要的信息。 首先,文档提出一个...

    API大集合(HTML,CSS,jquery,php,mysql,正则表达式)

    CSS API包含选择器、属性和值,如`color`、`font-size`、`padding`等,用于设置文字颜色、字体大小和元素间距。CSS3引入了许多新特性,如响应式设计、过渡效果、动画和伪类等,进一步丰富了网页设计的可能性。 ...

    正则表达式实例 网页前端开发

    )&gt;/is`,可以找到所有 `img` 标签及其 `src` 属性。`preg_match_all` 函数用于查找所有匹配项,然后循环遍历结果。 4. **分析域名**: 使用 `/https?:\/\/([^\/]+).*/i` 正则表达式,可以提取URL中的域名部分,`...

    15个超实用的php正则表达式

    如果需要匹配内部有属性值的标签,可以使用稍微复杂的正则表达式: ```php $tag = 'div'; // 想要匹配的标签 $attribute = 'id="header"'; // 属性 $source = '&lt;div id="header"&gt;...&lt;/div&gt;'; // XML或HTML内容 preg...

    php正则替换处理HTML页面的方法

    PHP正则替换处理HTML页面的方法主要涉及到在PHP中使用正则表达式对HTML文档内容进行查找和替换操作,以达到修改页面元素属性的目的。HTML页面是由各种标签组成的,这些标签在正则表达式中需要特别处理,因为标签的...

    正则获取图片地址 链接地址

    `匹配属性值周围的单引号或双引号(可能有也可能没有);`([^'"&gt;]*)`捕获引号内的src值;`\1`表示引用前面匹配的引号;`([^&gt;])*&gt;`捕获任意非尖括号字符直到标签结束。标志`ig`表示全局匹配(g)和不区分大小写(i)...

    PHP正则匹配图片并给图片加链接详解

    ### PHP正则匹配图片并给图片加链接详解 在日常的网站开发中,我们经常会遇到需要处理HTML内容的情况,比如给文章中的图片自动添加链接、调整图片大小等。本文将详细解析如何使用PHP中的正则表达式来实现给文章中的...

    PHP实现html标签补全函数

    少数标签如` `和`&lt;img&gt;`是自闭和标签,不需要结束标签。如果HTML文档中存在未闭合的开始标签,解析器在遇到下一个开始标签时可能无法正确识别元素层级,从而导致页面布局混乱。 接下来,我们可以使用PHP的正则...

    PHP正则匹配操作简单示例【preg_match_all应用】

    这个正则表达式用于提取`&lt;img&gt;`标签的`src`属性值。 - `/`:正则表达式的分隔符,可以使用任何非字母数字的字符作为分隔符。 - `src="`:匹配`src="`字符串。 - `([^&lt;]*)`:捕获组,匹配任何不是`的字符,这将...

    js获取富文本中的第一张图片(正则表达式)

    在前端开发过程中,...另外,正则表达式在处理一些特殊字符时(例如`src`属性值中的引号),需要确保表达式能正确处理这些特殊字符,否则可能会出现匹配错误。在使用正则表达式时,应该测试各种情况以确保其健壮性。

    PHP提取字符串中的图片地址[正则表达式]

    在提取图片地址的场景中,我们使用正则表达式来定义一个匹配&lt;img&gt;标签内src属性值的模式,然后通过PHP的正则表达式函数preg_match_all()来找出所有匹配的结果。 正则表达式中的关键点如下: - `/`:这是正则表达式...

    PHP 提取图片img标记中的任意属性的简单实例

    文章中的代码示例展示了如何通过正则表达式匹配并提取img标签的各种属性值,以及如何在提取属性值后对其进行修改。 2. img标签的属性 img标签是HTML中用于嵌入图片的标记,它可以包含多个属性,比如src(图片源...

    php正则匹配文章中的远程图片地址并下载图片至本地

    这个表达式的作用是匹配出所有包含在`src`属性值中的图片链接,其后缀包括常见的图片格式如gif、jpg、jpeg、bmp、png。正则中的`isU`是修饰符,`i`表示不区分大小写,`s`使得`.`匹配包括换行符在内的所有字符,`U`...

Global site tag (gtag.js) - Google Analytics