SINAV DUYURULARINI ÇEKME.
Merhaba. Milli Eğitim Bakanlığının Sınav duyurularını kendi sitemde gösterebileceğim bir kod arıyorum. Başka bir sitede de sormuştum ama tam bir sonuç alamadım. Diğer sitede verilen cevap:
<?php
/**
* @meb_sinav.php
*/
?>
<?php
$site_adres = "http://www.meb.gov.tr/Sinavlar/index.asp";
$cekilen = @file_get_contents($site_adres);
if($cekilen != ''){
$cekilenn = preg_replace("/[\n\r\t]/","" ,$cekilen);
$desen = '/';
$desen .= '\<li\>';
$desen .= '\<a href="(.*?)"\>'; // Linki alır $haberler[1]
$desen .= '(.*?)'; // Haber başlığını alır $haberler[2]
$desen .= '\<\/a\>';
$desen .= '/si';
preg_match_all($desen, $cekilenn, $haberler);
}
//unset($haberler[0], $haberler[1]); // işe yaramayan kısımları silebilirsin
print("<pre>");
print_r($haberler);
print("</pre>");
?>
Bu kodu uyguladığımda;
- karakter hatası
- Linkkerin başına ve sonunu "=> 1 " gibi şekiller koyması
- Linklere tıkladığımda link yerine MEB'in sitesine yönlenmesi (MEB'de tıkladığımda duyuru açılıyor) gibi hatlarla karşılaşıyorum.
Yardım edebilir misiniz?
Php
preg_match komplex bir fonksiyondur. orda hata olması muhtemel. ayrıca ordaki bilgiler zaten <ul><li> formatında , sana gerekli olan bölümden itibaren alsan yeter bence.
Php
linki firefox ile açtığımda böyle diyor.
"Farklı bir internet tarayıcısı kullandığınız için bu mesajı alıyorsunuz. Lütfen Microsoft Internet Explorer programı ile işlem yapınız"
Bu kafa ile hiçbirşey çözülemez. Microsoft milli eğitime para mı ödemiş bu reklam için !!!
Php
İşte bu yüzden okullarda visual studio ile c# gösterilmesine karşıyım. Resmen microsoft kölesi oldu bizim türkiye...
Web için php, Local için c++ & delphi öğrensinler. c# tan uzak dursunlar :(
preg_match komplex bir fonksiyondur. orda hata olması muhtemel. ayrıca ordaki bilgiler zaten <ul><li> formatında , sana gerekli olan bölümden itibaren alsan yeter bence.
Almayı bilsem alacağım da almayı bilmiyorum
Php
işte o linki alınca iş bitmiyor Ahmet. aldığın linke tıklayan senin kullanıcılar boş ekrana düşer.
işte o linki alınca iş bitmiyor Ahmet. aldığın linke tıklayan senin kullanıcılar boş ekrana düşer.
Buna benzer bir konuyu "resmi gazeteyi" günlük olarak sitemde yayınlamayı başardım. Siteme girince resmi gazetenin o günkü yayını otomatik olarak sitemde gösteriliyor ve kullanıcılar tıklayınca ilgili linkler çalışıyor. Buradaki fark meb'in sayfasında banner ve duyuruların yan taraflarında başka menüler vs var.
Benim istediğim sadece duyuruları çekmek.
İşte bende tam bu konuda sizlerden yardım bekliyorum
Php
$d = file_get_contents('http://www.meb.gov.tr/Sinavlar/index.asp');
preg_match_all('#<li>\s+<a href="(.+?)">(.+?)</a>\s+</li>#is',$d,$m);
$c = count($m[1]);
for($i = 0; $i < $c; $i++)
{
echo '<li>Yazı: =>'.$m[2][$i]. '<br/> Link: => '.$m[1][$i].'</li>';
}
Hepsi bukadar.
$d = file_get_contents('http://www.meb.gov.tr/Sinavlar/index.asp');
preg_match_all('#<li>\s+<a href="(.+?)">(.+?)</a>\s+</li>#is',$d,$m);
$c = count($m[1]);
for($i = 0; $i < $c; $i++)
{
echo '<li>Yazı: =>'.$m[2][$i]. '<br/> Link: => '.$m[1][$i].'</li>';
}
Hepsi bukadar.
Cevap ve emekleriniz için çok teşekkür ederim.
Php
$d = file_get_contents('http://www.meb.gov.tr/Sinavlar/index.asp');
preg_match_all('#<li>\s+<a href="(.+?)">(.+?)</a>\s+</li>#is',$d,$m);
$c = count($m[1]);
for($i = 0; $i < $c; $i++)
{
$link="<a href='.$m[1][$i].'>".$m[2][$i]."</a>" ;
echo $link;
}
kodu link haline getirmek için böyle yazdım ama çalışmadı. Hata nerede acaba?