时间:2021-07-01 10:21:17 帮助过:3人阅读
用正则处理最方便:
$str = '请问怎么在一堆源码中匹配以下字符img id="main-image" src="https://img.gxlcms.com//Uploads-s/new/2019-09-22-201922/41Auzc7RBPL._SY300_.jpg"';$p = '#img\s*id="main-image"\s*src="(http://ecx\.images-mazon\.com/images/I/.+\.(jpg|gif|jpeg|png))"#U';preg_match($p, $str, $result) && var_dump($result);
$html = '';$doc = new DOMDocument();$doc->loadHTML($html);echo $doc->getElementById('main-image')->getAttribute('src');
41Auzc7RBPL._SY300_这个字符串是随机产生的,每次都不样,后面那个DOM直接用了这个字符串了,而文件名是不知道的
$str='img id="main-image" src="https://img.gxlcms.com//Uploads-s/new/2019-09-22-201922/41Auzc7RBPL._SY300_.jpg"';$p = |img id="main-image" src="(.*)"|iUs;preg_match($p, $str, $result);print_r($result);//如果你只需要对获取到的网址里那个图片名称那么你需要分割$ep=explode('/',$result[0]);echo $ep[5];
学习一下,我就会正则来处理,二楼果断高手
preg_match正则取就好了~实在不会字符串分割都可以的吧
学习一下 PHP解析DOM 之前没注意到这个方法