热搜:NVER node 开发 php

请大家帮我看看这个截取网址的正则问题在哪?感谢

2024-08-20 14:10:01
请大家帮我看看这个截取网址的正则问题在哪?感谢

我需要取出以http开头的所有图片的地址,写了这个正则 
$regstr = 'http://.*(\.jpg|\.png|\.gif)'
使用函数匹配 preg_match_all($regstr, $strtest2, $match);对 strtest2这个字符串能顺利取出图片的地址,但对于strtest1这样的字符串却无法取出,请大家帮我看看问题出在哪儿,感谢 

$strtest1 = 'e7342287f1485896249c474049d5317c:1:0:|http://img01.taobaocdn.com/bao/uploaded/i1/T1dNrmFEJaXXXXXXXX_!!0-item_pic.jpg;78e4591d5b18775a71912801623c0d26:1:1:|http://img01.taobaocdn.com/bao/uploaded/i1/1643666761/TB2aMrfaFXXXXbGXpXXXXXXXXXX_!!1643666761.jpg;';

$strtest2 = '';


回复讨论(解决方案)

用下面这种吧

<?php$strtest1 = 'e7342287f1485896249c474049d5317c:1:0:|http://img01.taobaocdn.com/bao/uploaded/i1/T1dNrmFEJaXXXXXXXX_!!0-item_pic.jpg;78e4591d5b18775a71912801623c0d26:1:1:|http://img01.taobaocdn.com/bao/uploaded/i1/1643666761/TB2aMrfaFXXXXbGXpXXXXXXXXXX_!!1643666761.jpg;';$strtest2 = '';$regstr = '/http:\/\/img.*(?:\.jpg|\.png|\.gif)/U';preg_match_all($regstr, $strtest1, $match);var_dump($match);preg_match_all($regstr, $strtest2, $match);var_dump($match);?>

感谢,经测试可用