我正在使用 cURL 来获取网站中使用的所有 img 标签的 img src。但是该网站有许多未指定主机名的名称,例如:
<img src="/images/look.jpg" />
<img src="i4.ytimg.com/vi/OmliBRZUxnk/maxresdefault.jpg?feature=og" title="youtube pic" />
那么我如何确定哪些 src 将在不对其进行任何操作的情况下呈现图片,以及哪些需要在前面加上站点的主机名(steekcoders.com)。
目前我正在尝试这个:
$url = 'http://www.steekcoders.com'; $parse='http://'.parse_url($url, PHP_URL_HOST).'/'; $reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
foreach($imgArray as $src)
{
$src=ltrim($src,"/"); if(empty($src)){ continue; }
if(!preg_match($reg_exUrl, $src))
{
$clipouts[]=$src; $req="http://".$src; $extra=$parse.$src;
$clipouts[] = $extra; $clipouts[] = $req;
}
else{ $clipouts[]=$src; {
}
但效果不是很好。我该怎么办?