Cümle İçerisinde Arama
// 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.
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