Ara 13th, 2008
yazar Zihni.
Aşağıdaki gibi bir tarih stringimiz olsun, Örneğin MySQL datetime alanındaki veriler gibi.
‘2008-12-13 06:11:25′
Bunu Yıl, Ay, Gün, Saat, Dakika, Saniye şeklinde parse etmek isteyelim.
1
2
3
4
5
6
7
8
| $tarih = "2008-12-13 06:11:25";
preg_match("/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/",$tarih,$diziTarih);
$yil = $diziTarih[1]; // 2008
$ay = $diziTarih[2]; // 12
$gun = $diziTarih[3]; //13
$saat = $diziTarih[4]; //06
$dakika = $diziTarih[5]; //11
$saniye = $diziTarih[6]; //25 |
preg_match işlevi düzenli ifade ile verilen eşleşmeyi bulduğu takdirde bunu $diziTarih dizisine doldurur.
$diziTarih[0] tüm eşleşmeyi verir yani ‘2008-12-13 06:11:25′ değerini.
Diğer bölümler 1 inci anahtardan başlayarak devam eder.
Nis 14th, 2008
yazar Zihni.
Sözdizimi:
1
| int preg_match ( string desen, string metin, array [eslesmeler] ) |
desen parametresi ile verilen metin bloğunu, metin içinde arar.
Bulunan eşleşmeleri eslesmeler dizisine doldurur. Aranan metin bloğu bulunursa 1, bulunamazsa 0 döndürür.
Örnek:
Aşağıdaki örnekte, düzenli ifadeler yardımıyla 300,5 rakamını metinde alıyoruz.
1
2
3
4
5
6
7
8
9
10
11
12
13
| $metin= "Microsoftun değeri 300,5 milyar dolardır. ";
// \d+ ile herhangi bir ondalik sayıdan bir veya daha fazla kere olacağını, bize 300'ü verir
// sonra bir virgül olacağını
// sonra \d ile herhangi bir ondalık sayıdan bir tane olmasını istiyoruz.
$desen = "/\d+,\d/";
if(preg_match($desen,$metin,$eslesmeler))
{
print $eslesmeler[0];//Çıktı:300,5
}
else
{
print "Eşleşme bulunamadı.";
} |