Çekmeye çalıştığım pattern şu şekilde ;
$pattern = '@
(.*?)
@si';
Array
(
[0] =>
URL'leri çekmek |
7 Mesajlar | 1.163 Okunma |
Array
(
[0] =>
// Verdiğiniz örnekteki html çıktısı
$veri = '- sayfa1
- sayfa2
- sayfa3
';
//sadece bulunan linkleri seçiyorum.
preg_match_all('@href="(.*?)"@si',$veri,$sonuc);
//basit bir for döngüsü oluşturarak bulunan linkleri alıyorum.
for ($i = 0; $i < count($sonuc[1]); $i++) {
echo $sonuc[1][$i]."
";
}
Alınan sonuçları txt dosyasına yazdırmak istemişsiniz, o zaman for döngüsünü şu şekilde düzenleyebiliriz:
for ($i = 0; $i < count($sonuc[1]); $i++) {
echo $sonuc[1][$i]."
";
$dosya = fopen("linkler.txt","a");
fwrite($dosya,$sonuc[1][$i]."\n");
fclose($dosya);
}
PHP dosyasının bulunduğu bölüme linkler.txt adında dosya oluşturmanız yeter. Sunucu üzerine kullanım sağlayacaksanız sorun yaşamamak için CHMOD 777 yapın.
Örnek uygulama dosyasını buradan indirebilirsin.
if (!strstr($sonuc[1][$i], "YASAKLANACAK_ID")) : // eğer yasaklanan id değer içerisinde yoksa çalışacak kod
endif;
preg_match_all('@href="(.*?)"@si',$veri,$sonuc);
for ($i = 0; $i < count($sonuc[1]); $i++) {
if (!strstr($sonuc[1][$i], "2")) {
echo $sonuc[1][$i]."
";
$dosya = fopen("linkler.txt","a");
fwrite($dosya,$sonuc[1][$i]."\n");
fclose($dosya); }
}