PHP Düzenli ifadeler -4 preg_replace() Fonksiyon
Düzenli ifadeler, geliştiriciler için çok kullanışlı bir araçtır. Bir kelimeyi, karakteri veya herhangi bir diziyi bulmaya, tanımlamaya veya değiştirmeye izin verirler. Bu eğitim size PHP Düzenli ifadesinde nasıl ustalaşacağınızı öğretecek ve herhangi bir web geliştiricisinin araç setinde olması gereken son derece kullanışlı, kullanıma hazır PHP düzenli ifadelerini Konusunu gösterecektir.
preg_replace()
fonksiyonu, içeriği aramak ve değiştirmek için düzenli bir ifade gerçekleştirmek için kullanılan PHP'de yerleşik bir fonksiyondur.
Sözdizimi:
patterns: Gereklidir, Bu parametre, içeriği aramak için kullanılan dize öğesini içerir ve bir dize veya dize dizisi olabilir.
replacements: Gereklidir, Bu parametre, içeriği aramak için kullanılan dize öğesini içerir ve bir dize veya dize dizisi olabilir.
İnput: Gereklidir. Değiştirmelerin gerçekleştirildiği dize veya dize dizisi
Limit: İsteğe bağlı. Varsayılan olarak -1'dir, yani sınırsızdır. Her dizede kaç tane değiştirme yapılabileceğine dair bir sınır belirler
count: İsteğe bağlı. Fonksiyon yürütüldükten sonra, bu değişken kaç tane değiştirme yapıldığını gösteren bir sayı içerecektir.
ÖRNEK:
<?php
$text = "web poğramcılığında php kullanılır. php güzel bir dildir.";
$pattern = "/php/";
$replace = "javascript";
$result = preg_replace($pattern, $replace, $text);
echo $result;
?>
ÇIKTI:
Yukarıda örnekte görüldüğü gibi php kelimeler javascript ile değişmiştir.
preg_filter()
sadece eşleşen konuları döndürmesi preg_replace()
fonksiyonu gibidir. Farkı konu değiştirgesi bir dizi ise ve hiç eşleşme olmazsa veya bir hata oluşmuşsa boş bir dizi döner; aksi takdirde null döner. Bu da bize if...else
ifadelerinde preg_filter()
fonksiyonu kullanmamazı sağlar.Çoğu durumda bir tane değilde, birden fazla desenin değiştirilmesi istener o zaman Array kullanmamız gerekir.
Pattern değişkenimizde Array kullandıysak Değiştireceğimiz (replace) değişkenindede Array kullanmalıyız.
<?php
$text = "ders çalışmak zorlu. Bugün hava güzel.";
$pattern = ["/ders/","/zorlu/","/güzel/","/\./"];
$replace = ["css","kolay","bulutlu","!"];
$result = preg_replace($pattern, $replace, $text);
echo $result;
?>
ÇIKTI:
Bir metin ile değilde, bir Array yapıda preg_replace()
fonksiyonu kullanırsak.
<?php
$content = [82, 82.37, 37.28, 58];
$pattern = ["/8/"];
$replace = ["3"];
$result = preg_replace($pattern, $replace, $content);
echo "<pre>";
print_r($result);
echo "</pre>";
?>
ÇIKTI:
Array ( [0] => 32 [1] => 32.37 [2] => 37.23 [3] => 53 )
preg_replace()
, fonksiyon n veya $n formunun başvurularını içerebilir ve ikinci form tercih edilen formdur. Bu tür her başvuru, n'inci parantezli desen tarafından yakalanan metinle değiştirilir. n=0 ile 99 arasında olabilir ve 0 veya $0 tüm desenle eşleşen metne başvurur. Yakalama alt ayrıştırıcısının sayısını elde etmek için açma parantezleri soldan sağa (1'den başlayarak) sayılır.
$1, $2... $n
Düzenli ifadedeki değiştirmeler, parantez içine alınmış eşleşmelere yapılan referanslardır. Tüm eşleşme $0 olur, parantez içine alınmış ilk yakalama $1 olur, İkinci yakalama $2 olur, vb...
- Tüm eşleşme $0 ile ifade edilir.
- İlk eşleşen parantez ifade (.*), $1 olur.
- İkinci eşleşen parentez ifade (\?|&), $2 olur.
- Üçüncü ile eşleşen parentez ifade (.*), $3 olur.
<?php
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = 'Tarih: $0';
echo preg_replace($pattern, $replacement, $string);
?>
ÇIKTI:
ÖRNEK 2:
<?php
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1} 3, $3';
echo preg_replace($pattern, $replacement, $string);
?>
ÇIKTI:
Diğer regex Konularin Linki
- HTML
- CSS
- PHP
- JQUERY
- PHOTOSHOP
- JavaScript
- Web Dünyası
- Linux
- MİTHRİL FRAMEWORK
- Laravel
- Git
- React
- HTML LİNK(Bağlantı)EKLEME - LİNK VERME
- HTML YAZI VE RESİM ORTALAMA
- HTML RESME LİNK VERME
- HTML FORM OLUŞTURMA
- CSS YATAY MENÜ YAPIMI
- HTML RESİM EKLEME
- CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
- HTML DİV ve SPAN NEDİR?
- HTML ARKAPLANA MÜZİK EKLEME
- KALİTE KAYBETMEDEN RESİMLERİ BÜYÜTME