Projektowanie stron WWW od podszewki

Artykuły na każdy temat

[PHP] Wyciąganie linków i obrazków ze źródła przy pomocy wyrażeń regularnych

Dodano 03.09.2010r. o 21:11
Właściwie jest to wyciąganie adresów i anchorów ze źródła strony. Najlepiej pobrać stronę przy pomocy file_get_contents() lub funkcji o podobnym działaniu. Następnie trzeba odpowiednio obrobić źródło i wyłuskać to co nas interesuje. Najpierw powinniśmy obrobić tag <a>, a następnie anchor. Dlaczego tak, a nie inaczej? Bo w źródle mogą znaleźć się obrazki, które są linkiem.
Kod:
<?php
// Zabawa z tagiem <a>
$content file_get_contents('http://www.capaciouscore.pl/index.php');
preg_match_all('/<a.*href=\"([^\"]*)\".*>(.*)<\/a>/iU'$content$links);

print_r($links);
?>
Kod:
<?php
// Zabawa z tagiem <img>
$content file_get_contents('http://www.capaciouscore.pl/index.php');
preg_match_all('/<img.*src=\"(.*)\".*>/iU'$content$images);

print_r($images);
?>
Alternatywa dla tej metody jest inspekcja strony przy pomocy funkcji parsujących DOM.

Naturalnie powyższe wyrażenia regularne można nieco zmodyfikować aby wyciągnąć nie tylko zawartość href i src ale także, title, alt i innych atrybutów Smile A no i bym zapomniał jak zwykle na koniec. Wyrażenia nie są doskonale i trzeba je nieco dopieścić. Mam na myśli pobieranie zawartości z pojedynczych i podwójnych cudzysłowu.

Komentarze

Brak komentarzy

Dodaj komentarz

Zostaw komentarz jeżeli możesz! Nie bądź przysłowiowym botem! Nie bądź obojętny! Ciebie to nic nie kosztuje, a mi sprawi uśmiech na twarzy.
Zezwolono używać: BBCode
Zabroniono używać:
znaczników HTML

(Wymagany)

(Wymagany, niepublikowany)

(Nie wymagana)

Token:

Obrazek dla bota

(Przepisz tylko cyfry!)

(Wymagana)