ereg preg
Php 5.3.0 sürümü ile gelmiş yeni "özellik"lerden biri de bu olsa gerek. Php, POSIX işlemlerini gerçekleştiren "ereg", "eregi", "ereg_replace", "eregi_replace","split",spliti" ve "sql_regcase" fonksiyonlarını gözden çıkardı. Kullanmaya devam edebilrisiniz ama E_DEPRECATED diye tanımladığı yeni hata mesajlarını almanız söz konusu olacaktır.
Özellikle eregi ve ereg_replace benim en sık kullandığım fonksiyonlardandır. Eksikliklerini hissedecek olmasam da, bir çok dosyam da modifikasyon gerekeceği kesin. Bundan böyle, PCRE(Perl uyumlu düzenli ifadeler) olarak kullanılan, ayraçlarla sınırlandırma yaparak kullandığımız preg fonksiyonlarını kullanacağız.
Örneğin, bu benim temizlik fonksiyonum
function temizle($gelen) { }
Bu da şimdi olması gereken hali
function temizle($gelen) { }
Gördüğünüz gibi değişen çok şey yok. İlk gözünüze çarpan ~ karakteri olmuştur sanırım. Bu karakter yalnızca bir sınırlayıcıdır. Bu karakter yerine, ters bölü ve boşluk haricindeki her karakteri ayraç olarak kullanabilirsiniz. Düzenli idafelerde pek fazla kullanmadığınız karakterleri(örn: # @ gibi) ayraç olarak kullanmanız tavsiyemdir. PECL fonksiyonlarının isimlerini sayarak bu yazımı burada bitirmek istiyorum çünkü "düzenli ifadeler"i, böyle bir bakşa konu altına sıkıştırmak istemiyorum.
PECL fonksiyonları
preg_filter - Düzenli ifade ile değiştirme yapar. Eşleştiremediklerini filtreler.
preg_replace - Düzenli ifade ile değiştirme yapar ve eşleşmeyenlere karışmaz.
preg_grep - Dizi elemanlarında eşleşen değerleri yeni bir dizi olarak gönderir.
preg_match - Düzenli ifadeyi eşleştirmeye çalışır, eşleştiği an "true" olarak döner.
preg_match_all - Düzenli ifadeyi eşleştirmeye çalışır, aranılan metin bitene kadar devam eder.
preg_quote - PECL fonksiyonlarına özel karakterlerin önüne \ ekler.
preg_split - Düzenli ifadelerle metni parçalara böler.