• 11-09-2014, 18:58:56
    #1
    S.a. arkadaşlar,

    Aşağıdaki kodda nerde hata yapıyorum arkadaşlar Ayrıca bu kod çalışırken birden bire çalışmamaya başladı. Yani ne olduğunu çözemedim vallahi. Kodda ben bir yanlışlık göremiyorum açıkcası. Sonuçu döndürmesi lazım. Kısacası eşleşme sağlanamıyor array boş dönüyor. Benim morel sıfır sıfır sıfır.

    $html = '<tr class="msName msType_goals odd">
                <td class="msValueA">5</td>
                <td colspan="2" class="msStatsName">Goals</td>
                <td class="msValueB">4</td>';
     
     preg_match('#<tr class="msName msType_goals odd"><td class="msValueA">(.*?)</td><td colspan="2" class="msStatsName">Goals</td><td class="msValueB">(.*?)</td>#si',$html,$dizi);
    
    print_r($dizi[0]);
  • 11-09-2014, 19:02:48
    #2
    hangi satırda hata veriyor.
  • 11-09-2014, 19:03:25
    #3
    return str_replace(array("\n","\r","\t",), null, $cikti);
    Koduyla boşlukları vs temizleyip sonra preg_match kullanın
    İyi Forumlar
  • 11-09-2014, 19:15:12
    #4
    truser adlı üyeden alıntı: mesajı görüntüle
    hangi satırda hata veriyor.
    Hata döndürmüyor hocam. Eşleşme sağlanamıyor.


    Webkurum adlı üyeden alıntı: mesajı görüntüle
    return str_replace(array("\n","\r","\t",), null, $cikti);
    Koduyla boşlukları vs temizleyip sonra preg_match kullanın
    İyi Forumlar
    Bu dediğini denedim hocam sonuç aynı.
  • 11-09-2014, 19:36:06
    #5
    Şu şekilde denermisin hocam;

     preg_match('<td class="msValueA">(\d+)</td>[\s\S]+<td class="msValueB">(\d+)</td>#si',$html,$dizi);
  • 11-09-2014, 19:40:42
    #6
    jebias adlı üyeden alıntı: mesajı görüntüle
    Şu şekilde denermisin hocam;

     preg_match('<td class="msValueA">(\d+)</td>[\s\S]+<td class="msValueB">(\d+)</td>#si',$html,$dizi);
    Yok hocam boş dizi geliyor malesef. Bir şey eşleşmeyi bozuyor ama nedir çözemedim.

    Ayrıca posix stilinde yazıyorum yine sonuç 0
    preg_match('#<tr class="msName msType_goals odd"><td class="msValueA">[[:alnum:]]</td><td colspan="2" class="msStatsName">Goals</td><td class="msValueB">[[:alnum:]]</td>#is',$html,$dizi);
  • 11-09-2014, 19:56:18
    #7
    $html = '<tr class="msName msType_goals odd">
                <td class="msValueA">5</td>
                <td colspan="2" class="msStatsName">Goals</td>
                <td class="msValueB">4</td>';
    			 
    			$html = preg_replace("/\s+/", " ", $html);
    	
     
     preg_match('#<tr class="msName msType_goals odd"> <td class="msValueA">(.*?)</td> <td colspan="2" class="msStatsName">Goals</td> <td class="msValueB">(.*?)</td>#si',$html,$dizi);
    kardeş tr lerden sonraki boşluklara dikkat et şu haliyle çalışıyor
  • 11-09-2014, 20:26:55
    #8
    aramamotoru adlı üyeden alıntı: mesajı görüntüle
    $html = '<tr class="msName msType_goals odd">
                <td class="msValueA">5</td>
                <td colspan="2" class="msStatsName">Goals</td>
                <td class="msValueB">4</td>';
    			 
    			$html = preg_replace("/\s+/", " ", $html);
    	
     
     preg_match('#<tr class="msName msType_goals odd"> <td class="msValueA">(.*?)</td> <td colspan="2" class="msStatsName">Goals</td> <td class="msValueB">(.*?)</td>#si',$html,$dizi);
    kardeş tr lerden sonraki boşluklara dikkat et şu haliyle çalışıyor
    Hayret doğrusu bu kodla çıktı aldım Daha önce replace ettiğim halde alamamıştım. Eline koluna aklına sağlık kardeşim sağaolsın.