php

PHP'de preg_match() İşlevinin Kullanımı

PHP'de preg_match() İşlevinin Kullanımı

Normal ifade, metin verilerindeki herhangi bir belirli dizeyi eşleştirmek, aramak ve değiştirmek için kullanılabilen belirli bir kalıptır. Herhangi bir programlama dilinin güçlü bir özelliğidir. Esas olarak, e-postayı doğrulama, telefon biçimini kontrol etme, oturum açma formunun kullanıcı adı ve şifre alanlarını doğrulama vb. gibi farklı form doğrulama türlerini gerçekleştirmek için kullanılır. Metnin belirli herhangi bir içeriği, normal bir ifade kalıbı kullanılarak aranabilir ve değiştirilebilir. Ayrıca regex veya RegExp olarak da adlandırılır. Normal ifade modelini tanımlamak için farklı sembol türleri kullanılır.

Normal ifade için PHP'de birçok yerleşik işlev vardır. preg_match() işlevi bunlardan biridir. Bu işlev, dize verilerindeki belirli bir kalıbı eşleştirmek için kullanılır. PHP'de preg_match() işlevinin çeşitli görevleri gerçekleştirmek için nasıl kullanılabileceği bu eğitimde açıklanmaktadır.

Sözdizimi:

Int veya false preg_match (string $desen, string $konu [, dizi &$eşleşmeler = null [, int $flags = 0 [, int $offset = 0]]])

Bu işlev beş argüman alabilir. ilk argüman, $ desen, eşleştirme kalıbını tanımlayan zorunludur. ikinci argüman, $konu, zorunludur ve kalıbın uygulanacağı dizi verilerini içerir. üçüncü argüman, $eşleşme, isteğe bağlıdır ve eşleşmeye göre bir dizi döndürür. dördüncü argüman, $bayraklar, eşleşmeye bağlı olarak farklı türde bayrak değerleri içeren isteğe bağlıdır. beşinci argüman, $ denkleştirme, isteğe bağlıdır ve aramanın başlangıç ​​konumunu tanımlamak için kullanılabilir.

Örnek 1: Kalıbı büyük/küçük harf duyarlı ve büyük/küçük harfe duyarlı olmayan bir şekilde eşleştirin

Aşağıdaki örnek, dizeyi büyük/küçük harfe duyarlı ve büyük/küçük harfe duyarlı olmayan bir şekilde eşleştirmek için preg_match() işlevinin kullanımını gösterir. Aşağıdaki komut dosyasıyla bir PHP dosyası oluşturun.

Burada, üç preg_match() işlevinde uygulamak için üç kalıp kullanılır. ilk desen, '/Sevmek/', dizeyi büyük/küçük harfe duyarlı bir şekilde eşleştirmek için kullanılır. ikinci desen, '/sevmek/', dizeyi büyük/küçük harfe duyarlı bir şekilde eşleştirmek için kullanılır. üçüncü desen, 'Benim gibi', dizeyi büyük/küçük harfe duyarlı olmayan bir şekilde eşleştirmek için kullanılır. arama_pattern() işlevi komut dosyasında eşleştirme için preg_match() işlevini kullanmak üzere tanımlanmıştır ve bu işlevin döndürülen değerine göre mesajı yazdırır.

// Metni tanımla
$text = "PHP'yi seviyorum. JavaScript'i de severim.";
//Üç tip desen tanımlayın
$pattern1 = '/Beğen/';
$pattern2 = '/beğen/';
$pattern3 = '/Beğen/i';
//Metin içindeki deseni aramak için fonksiyon tanımlayın
function search_pattern($desen, $dize)

if(preg_match($desen, $dize))
echo "Arama sonucu: Desen için eşleşme bulundu - $pattern
";
Başka
echo "Arama sonucu: Desen için eşleşme bulunamadı - $pattern
";

//Orijinal metni yazdır
echo "Orijinal metin: $metin
";
//Üç desen için işlevi üç kez çağırın
search_pattern($desen1, $metin);
search_pattern($desen2, $metin);
search_pattern($desen3, $metin);
?>

Çıktı:

Komut dosyasını sunucudan çalıştırdıktan sonra aşağıdaki çıktı görünecektir. İlk satır, kalıpların arandığı metni gösterir. İkinci satır, ilk kalıbın çıktısını gösterir. Üçüncü satır, ikinci kalıbın çıktısını gösterir. Dördüncü satır, üçüncü kalıbın çıktısını gösterir.

Örnek 2: URL'yi doğrulayın

Aşağıdaki örnek, preg_match() işlevini kullanarak URL adresini doğrulamanın yolunu gösterir. Aşağıdaki komut dosyasıyla bir PHP dosyası oluşturun.

Test için $url değişkenine bir URL değeri atanır. '@^(?:https://)?([^/]+)@i' dizesi, URL adresinin geçerli olup olmadığını kontrol etmek için preg_match() işlevinde bir kalıp olarak kullanılır. Geçerliyse, ana bilgisayar adı ve alan adı yazdırılır, aksi takdirde hata mesajı yazdırılır.

//URL'yi tanımlayın
$url="https://www.linux ipucu.com";
//URL'yi doğrulamak için kalıbı tanımlayın
$desen ='@^(?:https://)?([^/]+)@i';
//URL'nin geçerli olup olmadığını kontrol edin
if(preg_match($desen, $url, $eşleşmeler1))

//Başarı mesajını yazdır
echo "URL geçerli.
";
//Eşleşme değerlerini içeren diziyi yazdır
echo "Dizin değerleri: ";
print_r($eşleşir1);
// Ana bilgisayar değerini al ve yazdır
$host = $eşleşme1[1];
Eko "
Ana bilgisayar adı: $host";
// Ana bilgisayar değerinden alan adını arayın
preg_match('/[^.]+\.[^.]+$/', $host, $eşleşmeler2);
Eko "
Alan adı: $matches2[0]";

Başka

//Hata mesajını yazdır
echo "Geçersiz URL.";

?>

Çıktı:

Komut dosyasını sunucudan çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Komut dosyasında sağlanan URL geçerlidir. Böylece çıktı, $eşleşmelerin değerlerini, URL'nin ana bilgisayar adını ve URL'nin alan adını gösterir.

Örnek 3: Bayrak ve ofset değerleriyle desen arama

Aşağıdaki örnek, preg_match() işlevinde bayrak ve ofset değerlerinin kullanımlarını gösterir. Aşağıdaki komut dosyasıyla bir PHP dosyası oluşturun.

Üç tür eşleştirme için komut dosyasında üç desen kullanılır. İlk preg_match() işlevinde, kalıp olarak '/(bangla)(desh)/' kullanılır ve bayrak değeri PREG_OFFSET_CAPTURE kullanılır. değerleri $eşleşme değişken, ilk preg_match() işlevinin çıktısına göre yazdırılacaktır. İkinci preg_match() işlevinde, '/(bangla)(sevimli)*(desh)/i', kalıp olarak ve bayrak değeri olarak kullanılır, PREG_UNMATCHED_AS_NULL. Desenin herhangi bir kısmı eşleşmiyorsa, dizide bir NULL değeri saklanacaktır. değerleri $eşleşme değişken, ikinci preg_match() işlevinin çıktısına göre yazdırılacaktır. Üçüncü preg_match() işlevinde, model olarak '/glad/', bayrak değeri, PREG_OFFSET_CAPTURE ve ofset değeri olarak 3 kullanılır. değerleri $eşleşme değişken, üçüncü preg_match() işlevinin çıktısına göre yazdırılacaktır.

//Metin değerini tanımla
$metin = "Bangladeş";
//Üç tip desen tanımlayın
$pattern1 = '/(bangla)(desh)/i';
$pattern2 = '/(bangla)(memnun)*(desh)/i';
$pattern3 = '/memnun/';
//PREG_OFFSET_CAPTURE bayrağını kullanma
preg_match($desen1, $metin, $eşleşme, PREG_OFFSET_CAPTURE);
Eko "
";
print_r($eşleşir);
Eko "

";
//PRG_UNMATCHED_AS_NULL bayrağını kullanma
preg_match($pattern2, $metin, $eşleşmeler, PREG_UNMATCHED_AS_NULL);
Eko "
";
print_r($eşleşir);
Eko "

";
//PREG_OFFSET_CAPTURE bayrağı ve ofset değeri kullanılıyor
preg_match($pattern3, $metin, $eşleşmeler, PREG_OFFSET_CAPTURE, 3);
Eko "
";
print_r($eşleşir);
Eko "
";
?>

Çıktı:

Komut dosyasını sunucudan çalıştırdıktan sonra aşağıdaki çıktı görünecektir.

Sonuç

preg_match() işlevinin kullanımları bu öğreticide birden çok örnek kullanılarak açıklanmıştır. Bu işlevin farklı argümanlarının kullanımları burada da gösterilmiştir. Okuyucular bu öğreticiyi okuduktan sonra bu işlevi komut dosyalarında düzgün bir şekilde kullanabilecekler.

Linux Eğitimi için Tomb Raider'ın Gölgesi
Shadow of the Tomb Raider, Eidos Montreal tarafından yaratılan bir aksiyon-macera oyunu serisi olan Tomb Raider serisine eklenen on ikinci oyundur. Oy...
Linux'ta FPS Nasıl Arttırılır?
FPS'nin kısaltması Saniyedeki Kare Sayısı. FPS'nin görevi, video oynatma veya oyun performanslarındaki kare hızını ölçmektir. Basit bir deyişle, her s...
En İyi Oculus Uygulama Laboratuvarı Oyunları
Oculus başlık sahibiyseniz, yandan yükleme hakkında bilgi sahibi olmalısınız. Sideloading, kulaklığınıza mağaza dışı içerik yükleme işlemidir. SideQue...