PHP正则提取HTML中img的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); ?>