PHP正则提取HTML中img的url值

本文介绍了一种使用PHP从指定网页抓取所有图片链接的方法。通过定义正则表达式匹配<img>标签中的src属性,实现了对图片URL的有效提取。文中还展示了如何运行代码并打印出所有提取到的图片地址。
<html>
<head>
    <title>获取HTML中的img的src值</title>
</head>
<body>

</body>
</html>
<?php

//抓取网页内容
$pageContents = file_get_contents('http://img.zhongsou.com/i/95/190871.html');

//网络上找到以下正则,前两个还不符合需求,大家也可以测试下。
//$reg = '/<img +src=[\'"](http.*?)[\'"]/i';  能获取到img标签内容
//$reg='/\s+src\s?\=\s?[\'|"]([^\'|"]*)/is';  能获取到src=''内容,javascript的src也将获取到


//为什么返回$results['imgUrl']在测试时发现这个正则匹配出来的结果是个多维数组,外层是3个数组。
//imgUrl返回的是img中src引号中路径部分,所以返回$results['imgUrl']。
$reg='<img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""\']?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""\'<>]*)[^<>]*?/?[\s\t\r\n]*>';

preg_match_all( $reg , $pageContents , $results );


var_dump($results['imgUrl']);
echo '<br>************************ 以下打印出来的是$results *****************************<br>';
var_dump($results);

?>

 

转载于:https://www.cnblogs.com/cyun/p/5476786.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值