You need to enable JavaScript to run this app.

Ana içeriğe geç

PHP String İçinde Arama Örneği

Administrator
PHP String İçinde Arama Örneği
PHP String İçinde Arama Örneği




PHP ile ilgili yaygın bir senaryo ve çözümünü içeren bir kod parçacığı örneği hazırlayacağım.
Bu örnekte, bir metin (string) içerisinde belirli bir kelimenin veya karakter dizisinin (substring) olup olmadığını nasıl kontrol edebileceğimizi göstereceğim. Bu, web geliştirmede sıkça karşılaşılan bir durumdur; örneğin kullanıcı girdilerini doğrulamak, metin analizi yapmak veya belirli anahtar kelimeleri aramak için kullanılabilir.
Aşağıdaki kodda,
Kod:
str_contains()
(PHP 8+) ve
Kod:
strpos()
(eski PHP versiyonları için de geçerli) fonksiyonlarını kullanarak bu kontrolün nasıl yapıldığını göreceksiniz.

Bu PHP kodu, bir metin içerisinde belirli bir alt dizinin varlığını kontrol etmenin iki yaygın yolunu göstermektedir:
  1. Kod:
    str_contains()
    : PHP 8.0 ve sonrasında sunulan, okunabilirliği yüksek ve doğrudan bu amaç için tasarlanmış bir fonksiyondur.
  2. Kod:
    strpos()
    : Daha eski PHP sürümlerinde de çalışan bu fonksiyon, alt dizinin metin içindeki ilk konumunu döndürür. Eğer alt dizi bulunamazsa
    Kod:
    false
    değeri döndürür. Bu fonksiyonu kullanırken, bulunan konum
    (yani metnin en başı) olabileceği için
    Kod:
    false
    ile katı karşılaştırma (
    Kod:
    !==
    ) yapmak önemlidir. Ayrıca, büyük/küçük harf duyarlılığını göz ardı ederek arama yapmak için
    Kod:
    stripos()
    fonksiyonunun nasıl kullanılacağı da gösterilmiştir.




<?php

// Aranacak ana metin
$anaMetin = "Merhaba dünya, bu bir PHP örneğidir.";

// Aranacak kelime veya karakter dizisi
$arananKelime = "dünya";
$aranmayanKelime = "javascript";

echo "Ana Metin: '" . $anaMetin . "'\n\n";

// --- Çözüm 1: str_contains() fonksiyonu (PHP 8.0 ve üzeri için önerilir) ---
echo "--- str_contains() ile Kontrol ---\n";

if (str_contains($anaMetin, $arananKelime)) {
    echo "'" . $arananKelime . "' kelimesi metin içinde bulundu.\n";
} else {
    echo "'" . $arananKelime . "' kelimesi metin içinde bulunamadı.\n";
}

if (str_contains($anaMetin, $aranmayanKelime)) {
    echo "'" . $aranmayanKelime . "' kelimesi metin içinde bulundu.\n";
} else {
    echo "'" . $aranmayanKelime . "' kelimesi metin içinde bulunamadı.\n";
}

echo "\n";

// --- Çözüm 2: strpos() fonksiyonu (Tüm PHP versiyonları ile uyumlu) ---
// strpos() fonksiyonu, bulunan kelimenin başlangıç pozisyonunu döndürür.
// Eğer kelime bulunamazsa false döndürür.
// Dikkat: Pozisyon 0 (sıfır) olabileceğinden (metnin başında bulunursa),
// katı karşılaştırma (=== veya !==) kullanmak önemlidir.
echo "--- strpos() ile Kontrol ---\n";

if (strpos($anaMetin, $arananKelime) !== false) {
    echo "'" . $arananKelime . "' kelimesi metin içinde bulundu.\n";
} else {
    echo "'" . $arananKelime . "' kelimesi metin içinde bulunamadı.\n";
}

if (strpos($anaMetin, $aranmayanKelime) !== false) {
    echo "'" . $aranmayanKelime . "' kelimesi metin içinde bulundu.\n";
} else {
    echo "'" . $aranmayanKelime . "' kelimesi metin içinde bulunamadı.\n";
}

echo "\n";

// Büyük/küçük harf duyarsız arama için stripos() kullanılabilir
$anaMetinKucukBuyuk = "Merhaba Dünya, bu bir PHP örneğidir.";
$arananKelimeKucuk = "dünya";

echo "--- stripos() ile Büyük/Küçük Harf Duyarsız Kontrol ---\n";
echo "Ana Metin (Büyük/Küçük Karışık): '" . $anaMetinKucukBuyuk . "'\n";
echo "Aranan Kelime (Küçük Harf): '" . $arananKelimeKucuk . "'\n";

if (stripos($anaMetinKucukBuyuk, $arananKelimeKucuk) !== false) {
    echo "'" . $arananKelimeKucuk . "' kelimesi (büyük/küçük harf duyarsız) metin içinde bulundu.\n";
} else {
    echo "'" . $arananKelimeKucuk . "' kelimesi (büyük/küçük harf duyarsız) metin içinde bulunamadı.\n";
}

/*
Çıktı Nasıl Olacak:

Ana Metin: 'Merhaba dünya, bu bir PHP örneğidir.'

--- str_contains() ile Kontrol ---
'dünya' kelimesi metin içinde bulundu.
'javascript' kelimesi metin içinde bulunamadı.

--- strpos() ile Kontrol ---
'dünya' kelimesi metin içinde bulundu.
'javascript' kelimesi metin içinde bulunamadı.

--- stripos() ile Büyük/Küçük Harf Duyarsız Kontrol ---
Ana Metin (Büyük/Küçük Karışık): 'Merhaba Dünya, bu bir PHP örneğidir.'
Aranan Kelime (Küçük Harf): 'dünya'
'dünya' kelimesi (büyük/küçük harf duyarsız) metin içinde bulundu.

*/

?>