Giris

$mesaj

Üye Adi Sifre
| Üye ol

Online Sayisi : 34 Toplam Üye Sayisi : 1586 Son Üye : okan109

Tarih 2008:Nov:Sat

Kategoriler
  • ACPI [0]

  • Action Script [5]

  • Ajax [7]

  • ASP [17]

  • ASP.NET [23]

  • Assembly [3]

  • Bash [1]

  • C [6]

  • C# [9]

  • C++ [12]

  • Cobol [1]

  • Css [20]

  • Delphi [31]

  • Flash [5]

  • Html [9]

  • JAVA [36]

  • Java Script [17]

  • JSF [2]

  • Jsp [6]

  • Lua [1]

  • Matlab [2]

  • MySQL [31]

  • Oracle [1]

  • Pascal [31]

  • Pear [3]

  • Perl [22]

  • Photoshop [2]

  • PHP [169]

  • Python [9]

  • REXX [6]

  • Ruby [4]

  • SEO [5]

  • Visual Basic [37]

  • PHP / preg_match() ve regexpe Giriş
    preg_match() ve regexpe Giriş
    Yazar: federal
    Eklenme: 28/06/08    Okunma: 385    
     
     

    preg_match() Perl Uyumlu Düzenli Ifadeler (PCRE) fonksiyonlarindan biridir. Bu fonksiyon programciya
    metin isleme konusunda diger metin fonksiyonlarindan daha çok esneklik saglar.

    Preg_match() düzenli ifadeler kullanarak bir metin blogunu baska bir metnin içinde bulmak için
    kullanilir.

    Preg_match() 3 tane ifadeye ihtiyaç duyar. Bunlar
    1. Düzenli ifade (regex)
    2. Kaynak metin
    3. Bir dizi degisken

    Preg_match() sonuç olarak eslesen bir ifade varsa 1, eslesen bir ifade bulunamazsa 0 döndürür.


     Kod Çizelgesi     Kod Dili: php
    <?php $kaynak"Michael Jordan is a great player";

    #  if (preg_match( "/J.r/", $kaynak, $dizi))

    #  print $dizi[0]

    #  // Ekrana Jor yazdirir 
    ?>



    Burada düzenli ifademiz "/J.r/" ve metin içerisinde önce J, onu takip eden herhangi bir (1)
    karakter (.) ve daha sonra bir r ariyor. Slash isaretleri ise (/) delimiter olarak adlandirilirlar
    ve düzenli ifademizin sinirlarini belirlerler. Bir diger örnek ile devam edelim


     Kod Çizelgesi     Kod Dili: php
    <?php $kaynak "Michael Jordan is a great player";

    #  if ( preg_match( "/J.*n/", $kaynak, $dizi ) )

    #   print $dizi[0]

    #  // Ekrana Jordan yazdirir 
    ?>



    Bu örnekte ise önce bir J, ardinda herhangi bir (1) karakter, ardindan herhangi bir oranda herhangi
    bir karakter ve son olarak da bir n ariyoruz metnimizin içinde. Bu durumda .* için "herhangi bir
    oranda herhangi bir karakter" diyebiliriz.

    Zaman zaman * yerine + kullanmak da tercih edilebilir. + "bir veya daha fazla karakter"
    manasindadir. + ve * arasindaki fark ise +'nın 0'ı da içermesidir.  
    ".*" =       >=1
    "+" = >=0

    Düzenli ifadeler için açgözlüdür denebilir. Çünkü düzenli ifadeler aramanin ilk ve son sonucu
    arasindaki her seyi bulmak isterler


     Kod Çizelgesi     Kod Dili: php
    <?php $metin"string strong big stung";

    #  If ( preg_match( "/s.*g/", $metin, $dizi) )

    #  Print $dizi[0];

    #  // Ekrana string strong big stung yazdirir 
    ?>



    Eger sadece ilk bulunan ifadeyi istiyorsak bir ? eklememiz gerekir


     Kod Çizelgesi     Kod Dili: php
    <?php $metin"string strong big stung";

    #  If ( preg_match( "/s.*?g/", $metin, $dizi) )

    #  Print $dizi[0];

    #  // Ekrana string yazdirir 
    ?>



    Bir metin içerisinde bizim kriterlerimize uygun olan tüm degerleri bir dizi içine atmak istersek
    preg_match_all() fonksiyonunu kullanmamiz gerekir


     Kod Çizelgesi     Kod Dili: php
       1.  <?php $metin"string strong big stung";
       
    2.  If ( preg_match_all"/s.*?g/"$metin$dizi) )
       
    3.  Echo "<pre>";
       
    4.  Print var_dump($dizi);
       
    5.  Echo "</pre>";
       
    6.  
       7.  
    /* Ekrana
       8.  array(1) {
       9.    [0]=>
      10.    array(3) {
      11.      [0]=>
      12.      string(6) "string"
      13.      [1]=>
      14.      string(6) "strong"
      15.      [2]=>
      16.      string(5) "stung"
      17.    }
      18.  }
      19.  Yazdirir */ 
    ?>



    Ayrica düzenli ifadeler içinde verilerin türlerini ifade eden karakterler kullanarak belirli
    karakterleri arayabiliriz


     Kod Çizelgesi     Kod Dili: php
    <?php $metin"Bugün 06-01-05";

    #  If ( preg_match("/\d*-\d*-\d*/", $metin, $dizi))

    #  Print $dizi[0];

    #  //Ekrana 06-01-05 yazdirir 
    ?>



    Burada aramada \d ondalik rakami ifade eder. Düzenli ifadelerle arama yaparken kullanilabilen veri
    türleri ve içerdikleri degerler asagidaki listede gösterilmistir.

    Ifade Tür Içerigi
    \d Ondalik Sayi [0-9]
    \D Ondalik olmayan herhangi bir karakter [^0-9]
    \s Bosluk karakter [\t\n\r\f]
    \S Bosluk karakteri disindaki herhangi bir karakter [^ \t\n\r\f]
    \w "word" karakter [a-zA-Z0-9_]
    \W "non-word" karakter [^a-zA-Z0-9_]

    yavaş yavaş bu kodlara da girmek lazımdı. herkese iyi günler...


    Bu Kategoriye Ait Diğer Makaleler
    Başlık Tarih Hit
    PHP File Exists 2008-10-12 15:25:13 300
    PHP ile Bot Yapımı ve Sitelerden veri çekmek 2008-10-10 20:21:43 673
    Php ile Online sayac yapalim 2008-10-7 23:19:13 440
    Resim Yüklerken Küçük Resim Oluşturma Kodu 15/09/08 435
    php ile dosya upload ve veritabanına dosya ismini yazdırmak 15/09/08 383
    PHP ile Resim Üzderine Yazı Ekleme ve Kaydetme (anlatım) 13/09/08 360
    PHP’ye Namespace desteği 12/09/08 104
    PHP Podcastleri 12/09/08 172
    PHP 5.2 ile Dosya Yüklemelerini Takip Özelliği 12/09/08 198
    PHP & Json ve Twitter’dan Veri Çekmek 12/09/08 109
    Linke Gelince Değişen Resim (Javascript Rollover) 11/09/08 335
    Php ile Txt ziyaretçi sayaci yapalim 11/09/08 328
    HTML Dosyalarının İçine Php Kodlarını Ekleme 05/09/08 323
    PHP ile Resim Üzerine Yazı Ekleme ve Kaydetme 13/08/08 772
    Uzaktaki MySql a bağlanma? 08/08/08 508
    PHP ve PEAR Kullanımı 03/08/08 446
    Içeriklerimizi Koruyalim? 01/08/08 513
    PHP ile vBulletin Tarzı Sayfalama yapma 31/07/08 645
    php ile profesyonel sayfalama yapma 31/07/08 830
    Tarih Dönüşüm Fonksiyonu 25/07/08 409
    Dosya Kontrolleri 25/07/08 401
    PHP Zip Dosya Sıkıştırma Sınıfı (Class) 16/07/08 424
    İki defa aynı nickle üye olunmasını engellemek 09/07/08 587
    kelimeleri bölmek 03/07/08 431
    preg_match kullanımı 01/07/08 609

    Isminiz:
    E-mail adresiniz:
    Güvenlik Kodu:
      
     

     

    Görsel Dersler
  • Asp [59]

  • Asp.Net [5]

  • Csharp [33]

  • Delphi [85]

  • Delphi 7 [0]

  • Dreamweaver [45]

  • DW ile ASP Uygulamaları [28]

  • English Lessons [52]

  • Fireworks [4]

  • Flash [16]

  • HTML [20]

  • Java Script [0]

  • MS Access [19]

  • MS FrontPage [11]

  • Photoshop [32]

  • PHP [99]

  • Python [3]

  • SolidWorks [25]

  • Think Design [26]

  • VB Script [32]

  • Vb.Net [37]

  • Visual Basic [4]

  • iletisim    Reklam Verin Kadromuz Tavsiye Edin Site Haritasi Etiketler

    Sesli Chat beceri oyunlari

    Sitenizi Ekleyin.

    Sitemize Hosgeldiniz Sitemiz Genç Nesil Programlama Kaynak Sitesi Olup Siz Degerli Misafirlerimize Yararlanmaniz Amaci Ile Kurulmustur.



     

    Her hakki saklidir 2008 Tema : Pd - Ramazan
    Ferdi KÜÇÜK Web Stats webmaster forumu