v2.5.2
Giriş yap

Cümle İçerisinde Arama

acemi
725 defa görüntülendi ve 1 kişi tarafından değerlendirildi
// filtre.json
{
    "kelimeler":[
        "******",
        "s....",
        "g....",
        "a...."
        ]
}
Class Filtre {
    public $dosya = "filtre.json"; 
    public function Filtre($Filtre){
        $File = file_get_contents($this->dosya);
        $File = json_decode($File);
        $File = $File->kelimeler;
        $response = [];
        foreach ($File as $key => $value) {
            $response[] = [$value];
        }
        $Result = json_encode($response);
        $String = strstr($Result, $Filtre); 
        if($String === false):
            return false;
        else:
            return true;
        endif;
    }
}

arkadaşlar böyle birşey yaptım fakat istediğim gibi çalışmıyor.

cümle içerisinde

    $kelime = "Uzaylı seni yakalarsam ****** içinden geçerim";
    $Filtre = new Filtre();
    print_r($Filtre->Filtre($kelime));
    
    sonuç false dönüyor true dönmesi lazım fakat
    $kelime = "******";
    $Filtre = new Filtre();
    print_r($Filtre->Filtre($kelime));
    

cümle içerisinde tam bir arama yapmak istiyorum yardımcı olurmusunuz bununla ilgili.

mahony
783 gün önce

@abdullahx hocam araştırırken şu scripti buldum. 9 yıl önce yayınlanmış olsa da tam isteğimi karşıladı.

https://github.com/Mr-Martin/Search-through-json-file

Bunun üzerinden gidecek olursak tek bir sıkıntım kaldı. Search bara aranan text yazıldığında gayet başarılı listeliyor. Ancak aranan bulunamadığında örneğin "Üzgünüz! Üçerik bulunamadı!" gibi bir hata mesajı yazdırabilir miyiz? Belki de çok basit bir kod ama...

İlgili kod kısmı sanırım şöyle.

(function($) {
  var doc = $(document);


  //--------------------------------------------------------
  // Search products
  //
  // This function will make an AJAX request to a php file that
  // search through a json files that contains a bunch of products
  //--------------------------------------------------------
  function ajaxSearchProducts() {
    doc.on('keyup', '.search', function(e) {
      var keyCode = (window.event) ? e.which : e.keyCode;
      var resultList = $('.search-results');

      //--------------------------------------------------------
      // Check if the user press a key with number or letters or
      // backspace
      //--------------------------------------------------------
      if(keyCode <= 90 && keyCode >= 48 || keyCode == 8) {
        var value = 's=' + $(this).val();

        $.ajax({
          url: 'loadProducts.php',
          data: value,
          type: 'POST',
          dataType: 'json',
          success: function(data) {
            var results = [];
            var oddEven;

            $.each(data, function(key, info) {
              if(key % 2 == 0) {
                oddEven = 'even';
              } else {
                oddEven = 'odd';
              }

              results.push('<li class="'+oddEven+'" data-id="'+info.produkt_id+'">'+info.produkt_namn+' <span style="color: green;">WHITELISTED</span></li>');
            });
            resultList.html(results);
            resultList.animate({opacity: 'show'}, {duration: 200, queue: false});
          }
        });

      //--------------------------------------------------------
      // Else, if they hit escape; empty the result list and hide it
      //--------------------------------------------------------
      } else if(keyCode == 27) {
        $(this).val('');
        resultList.animate({opacity: 'hide'}, {duration: 200}).queue(function() {
          $(this).html('');
          $(this).dequeue();
        });
      }
    });

  }


  //--------------------------------------------------------
  // Run on document ready
  //--------------------------------------------------------
  $(function() {
    ajaxSearchProducts();
  });


}(jQuery));