웹 페이지에서 모든 URL 목록을 수집 중입니다. 내 문제는 목록에 URL 목록에서 원하는 이미지가 모두 포함되어 있다는 것입니다.이미지 URL을 URL 목록에서 제외하십시오.
이 스크립트는 웹 페이지의 모든 링크를 제공합니다.
function getUrl($html)
{
$regex = '/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i';
preg_match_all($regex, $html, $matches);
$urls = $matches[0];
return $urls;
}
다음은 소스 코드에서 이미지를 가져 오는 정규 표현식입니다.
/\bhttps?:\/\/\S+(?:png|jpg)\b/
어떻게 추출 된 URL 목록에서 이미지를 제외 할 수 있습니까? UPDATE
$regex = '/(?!.*(?:\.jpe?g|\.gif|\.png)$)\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i';
preg_match_all($regex, $html, $matches);
$urls = $matches[0];
왜 여전히 정규식 할 수 없습니다 exclue 이미지?
을 삭제 : 당신은 실제로도 그냥이 일치하도록 시도 내다가 필요하지 않습니다 티. URL이 이미지처럼 보일 수 없습니다 ** 특히 이미지를 제공하는 스크립트에 대한 직접 링크와 같은 것 인 경우 'click here for pic'. 당신은 아마 ''에있는 어떤 것이라도 이미지라고 가정 할 수 있지만 그 밖의 것은 "그걸 행운"입니다. –