İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Forum başlıklarını botla çekerken nerede hata yapıyorum

CoLd!uX

0
İyinet Üyesi
Katılım
9 Mayıs 2008
Mesajlar
509
Reaction score
1
iyi akşamlar vbulettin forum sitemdeki arşivler sayfasındaki sadece başlıkları nasıl alabilirim örneğin

http://forum.iyinet.com/archive/index.php/f-353.html bu sayfadaki tüm urleri çağırınca mysqle

<a href="http://www.siteadi.com/kelime.html">kelime</a> şeklinde yani urleri çekiyor

benim burada yapmak istediğim ise "kelime" gibi

sadece başlıkları direk veritabanına nasıl kayıt edebiliriz

kodlamada hata nerede yapıyorum..


PHP:
<?php  
include("../vt.php");
$site = "http://www.siteadi.com/archive/f-1.html";
$kaynak = file_get_contents($site);
preg_match_all('#<li>(.*?)</li>#i',$kaynak, $title);
$say = count ($title[1]);
for($i =2; $i <= $say; $i++)
{
$cek = $title[1][$i];
$abaslik = temizle($cek);
echo $abaslik.'<br>';
$kontrol = mysql_query("SELECT * FROM abot WHERE abaslik = '" . $abaslik . "' ");
if(mysql_num_rows($kontrol) == 0) {
$kayit=mysql_query("INSERT INTO abot (abaslik) VALUES ('" . $abaslik . "')");
echo "TAMAM"; 
} else { 
echo "HATA"; 
} 
}
function temizle($tr)
{
$tr = str_replace("<![CDATA[", "", $tr);
$tr = str_replace("]]>", "", $tr);
return $tr; 
}
?>
 

s.yalcin

0
İyinet Üyesi
Katılım
30 Eylül 2010
Mesajlar
24
Reaction score
0
Konum
Gaziantep
Hatanız burada
PHP:
preg_match_all('#<li>(.*?)</li>#i',$kaynak, $title);

Bu şekilde ayrıştırma yaparsan <li>*</li> içindeki tüm kısmı alır
PHP:
'#<li>(.*?)</li>#i'

Bu şekilde düzeltirsen, istediğini elde edersin.
PHP:
'#<li> <a href="(.*?)">(.*?)</a></li>#i'
ve;
PHP:
$cek = $title[2][$i];
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst