PHP de yazının bir kısmını bulup değiştirmek | MMO Tutkunları
  1. Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha Fazla Bilgi.
  2. Merhaba Ziyaretçi,
    Henüz sitemize üye girişi yapmadınız. Sitemizden tam anlamıyla yararlanabilmeniz için sitemize üye olmanız gerekmektedir. Eğer sitemize daha önceden üye olduysanız, buradan giriş yapabilirsiniz. Sitemize üye değilseniz buraya tıklayarak üye olabilirsiniz.

    Duyuruyu Kapat
  3. Merhaba Ziyaretçi, Usta üye alımında bazı maddeler değişti. Sizde güncel halini okumak istiyorsanız buraya tıklayabilirsiniz.
    Duyuruyu Kapat
Duyuruyu Kapat
Merhaba Ziyaretçi,
İçerik üreticilerinin güvencesi olan temel telif hakkı sistemi forumumuzda kullanıma sunulmuştur. Telif hakkı ile ilgili detaylı bilgiye şuradan ulaşabilirsiniz: bu linke tıklayarak konuya erişebilirsiniz

PHP de yazının bir kısmını bulup değiştirmek

'Programlama Dilleri' forumunda Whistle tarafından 22 Eylül 2019 tarihinde açılan konu

  1. Whistle

    Whistle Sarhoş Filozof Site Yetkilisi Admin Casro2 (Metin2) GM Casro2 (Metin2) Destek

    5.163
    1.195
    1.971
    30 Ekim 2011
    Erkek
    Öğrenci
    Samsun
    Merhabalar,
    Bugün çok takıldığım bir şey vardı. İnternette tam olarak kaynak bulamadım ama sonradan hallettim bende size anlatmak istiyorum.
    Anlık arama işlemi yaptıracağınız zaman aradığınız terimin gelen verilerde orijinaldeki gibi büyük ve küçük olmasını sağlamak istiyorsanız ilk önce yapmanız gereken metin içinde bulduğunuz kelimeyi orijinal yazıdan da almak.

    Peki ne anlatmaya çalışıyorsun diyebilirsiniz. Mesela bir örnek veriyim;
    PHP:
    1. $yazi = "Sevgi Bileziği";
    2. $aramaterimi = "sev";
    3.  
    4. echo str_ireplace($aramaterimi, "<strong>$aramaterimi</strong>", $yazi);
    Bu kod ekrana şu şekilde yazı yazacaktır.
    Not: str_ireplace => büyük ve küçük harf duyarlılığı olmadan değişim yapar.

    Yani aranılan terimi bulduğu sonuçlarda kullanıcının gönderdiği gibi değiştiriyor. Örnek;
    Ajax arama görüntü 1.jpg

    Fakat benim ihtiyacım olan gelen sonuçlarda aradığım terimle aynı olan karakterleri kalın yapmak. Yani orijinal içerikte büyük ve küçük karakterler nasılsa birebir aynı olmasını istiyorum. Peki bunu nasıl yaptım.

    Php'de strpos diye bir fonksiyon var bu fonksiyon bir stringde aradığınız şey bulunursa ilk dizinin anahtarını verir.

    Örnek;
    PHP:
    1. stripos("Sevgi Bileziği", "sev");
    Burada da stripos diyerek büyük ve küçük duyarlılığı olmadan arama yapmasını istedik ve aradığımız terim yazının hangi tarafındaysa ilk değerini verir. Bu ekrana 0 yazdıracaktır.

    Biz şu şekilde arama yapsaydık;
    PHP:
    1. stripos("Sevgi Bileziği", "bile");
    Ekran çıktısı şu olacaktır;
    Bunu anladığımızı varsayıyorum.


    Php'de birde yazıların uzunluğunu alabileceğiniz bir fonksiyon var. Bu da strlen fonksiyonudur.
    Örnek;
    PHP:
    1. echo strlen("sev")
    Ekran çıktısı şu olacaktır;
    Bu işlemi tamamlamak için de bir tane daha fonksiyonu tanımam gerekiyor. Bu da substr(string, baslangic, uzunluk) fonksiyonudur.
    Bu fonksiyon belirttiğiniz sayı aralığına göre yazıda yer alan kısmı alır. Örnek;
    PHP:
    1. echo substr("Sevgi Bileziği", 6, 3)
    Bu ekrana şunu yazdırır.
    Bunların hepsini öğrendiğimize göre uygulamamız için gerekli olan şu algoritmayı oluşturabiliriz o halde. :)
    PHP:
    1. $aramaTerimi = "sev";
    2. $text = "Sevgi Bileziği"
    3.  
    4. $baslangic = stripos($text, $aramaTerimi);
    5. $bitis = strlen($aramaTerimi);
    6. $bulunanKelime = substr($text, $baslangic, $bitis);
    7.  
    8. $degistir = str_ireplace($aramaTerimi, "<strong>$bulunanKelime</strong>", $text);
    9.  
    Bu ise ekrana şöyle yazacak;
    Not: $değistir kısmını şu şekilde de yapabilirsiniz.
    PHP:
    1. $degistir = str_replace($bulunanKelime, "<strong>$bulunanKelime</strong>", $text);
    Çalıştığıyla ilgili canlı örnekler;
    Ajax arama görüntü 2.jpg
    ajax arama görüntü 3.jpg
     
    Son düzenleme: 23 Eylül 2019
    McDynamic bunu beğendi.
Yükleniyor...

Bu Sayfayı Paylaş

XenForo Add-ons by Brivium ™ © 2012-2013 Brivium LLC.