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.

abdullahx
798 gün önce
Class Filtre
{
    public $dosya;
    public function __construct()
    {
        $this->dosya = json_decode(file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . 'filtre.json'), true);
    }

    public function filter($sentence): bool
    {
        $filtreWords = explode(' ', $sentence);
        $filtered = array_filter($filtreWords, function ($item) {
            return in_array($item, $this->dosya['kelimeler']);
        });
        return (bool) count($filtered);
    }
}

$kelime = "Uzaylı seni yakalarsam ****** içinden geçerim";
$Filtre = new Filtre();
print_r($Filtre->filter($kelime));

Mesela böyle basit bir şey yaptım, eğer verilen cümlede TAM EŞLEŞEN bir kelime varsa true yoksa false döndürür