preg_match ve preg_match_all kullanımı
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. )
Benzer Konular
Siz de yorum yazın
Yorum yazmak için oturum açmış olmanız gerekir.

