preg_match ve preg_match_all kullanımı

Başka bir yerden veri çekmek için kolay bir yöntemi anlatmak istiyorum.

Başka bir yerden veri çekmek için kolay bir yöntemi anlatmak istiyorum.

PHP'nin en güçlü string araçlarından birisi olan preg_match ile preg_match_all fonksiyonlarını kısaca anlatmaya çalışacağım.

preg_macth ile preg_macth_all fonksiyonları arasındaki en büyük farkı preg_macth eşleşen sadece tek kayıt (eğer kayıt varsa :) ), preg_macth_all ise eşleşen tüm kayıtları bulur ve işlemi sonlandırır.

Ortak noktaları ise her ikiside dizi olarak çıktı verirler.



      $kaynak= "<div>Birinci Bölüm</div> <div>İkinci Bölüm</div> <div>Üçüncü Bölüm</div> <div>Dördüncü Bölüm</div>";

      $aranan = "/<div>(.*?)</[^>]+>/i";

      preg_match($aranan, $kaynak, $sonuc);

      print_r($sonuc);

      ?>



$aranan / / arasında kalmalıdır. En sondaki i aramanın küçük büyük harf duyarsız olmasını sağlar.


Array

        (

           [0] => <div>Birinci Bölüm</div>

           [1] => Birinci Bölüm

        )



Programın çıktısında yukarıdaki görüntü çıkacaktır. preg_macth dizinin sadece ilk elemanı ( 0 nolu eleman ) listeler.


Array

       (

          [0] => Array

            (

               [0] => <div>Birinci Bölüm</div>

               [1] => <div>İkinci Bölüm</div>

               [2] => <div>Üçüncü Bölüm</div>

               [3] => <div>Dördüncü Bölüm</div>

            )



          [1] => Array

             (

               [0] => Birinci Bölüm

               [1] => İkinci Bölüm

               [2] => Üçüncü Bölüm

               [3] => Dördüncü Bölüm

             )



       )



Yukarıdaki çıktının gösterilmesi için ise yukarıdaki yazılımda preg_macth yerine preg_macth_all yazarsak bu sonucu alırız. Çünkü preg_macth_all tüm eşleşen kayıtları İki Boyutlu dizi içerisinde sıralayacaktır.
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

• 11 yıl önce
elinize saglık bot yazmak isteyenler için temel bilgi :gul:
• 9 yıl önce
bu bot şöyle bir hata veriyor Warning: preg_match() [function.preg-match]: Unknown modifier '['

Yukarı Git