Preg match all veri boş geliyor

Bu soru iptal edilmiştir...
Alttaki kod blogunda nedense düzgün çalıştıramadım acaba nerede hata yapıyorum
  $site=file_get_contents("http://www.kentselhaber.com/V1");
  preg_match_all("/<a href=\"(.*?)\"><font style=\"(.*?)\">(.*?)<\/font>(.*?)<\/a>/i",$site,$veri);
print_r($veri);
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • bariseser adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    2 cevap - 0 soru
    birde şunu dene ben denedim çalıştı ama istediğin şekilde yeniden elemek istediğin tagları özel olarak da belirtebilirsin.

    preg_match_all("|<[^>]+>(.*)</[^>]+>|U",$site,
        $out, PREG_PATTERN_ORDER);
    
    • Kemal adlı üyenin fotoğrafı Kemal
      yorumun için teşekkür ederimde ben sağ taraftaki haber hattını çekmeyi planlıyordum
      13 yıl önce yazılmış
    • bariseser adlı üyenin fotoğrafı bariseser
      tamam
      <[^>]+>(.*)</[^>]+>
      kısmını o haber hattındaki html taglarına göre yorumlatabilirsin
      13 yıl önce yazılmış
  • madpoet adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    84 cevap - 1 soru
    Multiline olarak tanımlaman gerek. /i yerine /im yaparsan olması lazım:

    $site=file_get_contents("http://www.kentselhaber.com/V1");
    
    preg_match_all("/<a href=\"(.*?)\"><font style=\"(.*?)\">(.*?)<\/font>(.*?)<\/a>/im",$site,$veri);
    
    print_r($veri);
    


    Ekstra tip: şöyle yazarsan daha kolay okunur / yazılır...

    preg_match_all('#<a href="(.*?)"><font style="(.*?)">(.*?)</font>(.*?)</a>#im', $site, $veri);
    
    • Kemal adlı üyenin fotoğrafı Kemal
      Verdiğin Bilgi İçin Çok Teşekkür Ederim Bilmiyordum Bu sayede ek bir bilgi daha edindim.
      Fakat
      Array ( [0] => Array ( ) [1] => Array ( ) [2] => Array ( ) [3] => Array ( ) [4] => Array ( ) ) 
      

      Şeklinde çıktı verip duruyor
      Buda Son yapılan düzenleme hali ne kadar garip
      <?php
      $site=file_get_contents("http://www.kentselhaber.com/V1");
      //preg_match_all("/<a href=\"(.*?)\"><font style=\"(.*?)\">(.*?)<\/font>(.*?)<\/a>/im",$site,$veri);
      preg_match_all('#<a href="(.*?)"><font style="(.*?)">(.*?)</font>(.*?)</a>#im', $site, $veri);
      print_r($veri);
      ?>
      
      
      13 yıl önce yazılmış
    • madpoet adlı üyenin fotoğrafı madpoet
      Pardon karıştırmışım "m" değil "s" olacak. Bu arada regexp'i de kontrol ettim küçük bir eksiği vardı, şöyle çalışması lazım:

      preg_match_all('#<a href="(.*?)">\s*<font style="(.*?)">(.*?)</font>(.*?)</a>#is', $site, $veri);
      


      a href ile font arasındaki whitespace character eksik kalmış.
      13 yıl önce yazılmış