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:

preg_replace(patterns, replacements, input, limit, count)

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:

web poğramcılığında javascript kullanılır. javascript güzel bir dildir.

Yukarıda örnekte görüldüğü gibi php kelimeler javascript ile değişmiştir.

Not: 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:

css çalışmak kolay! Bugün hava bulutlu!

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...


<?php
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';

$replacement = 'Tarih: $0';

echo preg_replace($pattern, $replacement, $string);
?>

ÇIKTI:

Tarih: April 15, 2003

ÖRNEK 2:


<?php
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';

$replacement =  '${1} 3, $3';

echo preg_replace($pattern, $replacement, $string);
?>

ÇIKTI:

April 3, 2003

Diğer regex Konularin Linki

Lütfen konu haricinde soru sormayın cevaplanmayacaktır. Yorumunuz onaylandıktan sonra yayınlanacaktır. Lütfen Yukarıda ki mesajları okuyun tekrar aynı soruları sormayın.

9067

KATEGORİ
  • HTML
  • CSS
  • PHP
  • JQUERY
  • PHOTOSHOP
  • JavaScript
  • Web Dünyası
  • Linux
  • MİTHRİL FRAMEWORK
  • Laravel
  • Git
  • React
POPÜLER MAKALE
  • 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
ETİKET
WEBCEBİR © 2013 Tüm hakları saklıdır.