v2.5.2
Giriş yap

Cümle İçerisinde Arama

acemi
702 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
749 gün önce
<!doctype html>
<html lang="tr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
    <title>Document</title>
    <style>
        #feedBack {
            display: none;
        }
        .success {
            color: #495057;
            background-color: #fff;
            border-color: #198754 !important;
            outline: 0;
            box-shadow: 0 0 0 0.2rem rgb(74, 185, 134) !important;
        }
        .error {
            color: #495057;
            background-color: #fff;
            border-color: #dc3545 !important;
            outline: 0;
            box-shadow: 0 0 0 0.2rem rgb(229, 88, 102) !important;
        }
    </style>
</head>
<body>

<div class="container">
    <div class="row mt-5">
        <div class="col">
            <div class="input-group">
                <input type="text" class="form-control" placeholder="Arama metnini giriniz" id="searchInput">
                <div class="input-group-append">
                    <button class="btn btn-outline-primary" type="button" id="searchButton">Ara</button>
                </div>
            </div>
            <small id="feedBack"></small>
        </div>
        
    </div>
</div>


<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>

<script>
    const input = $("#searchInput")
    const button = $("#searchButton")
    const feedBack = $("#feedBack")
    const sets = {
        errorMessage: 'Kayıt yok',
        successMessage: 'Kayıt var',
        liveSearch: true // Canlı aramayı kapatmak için false yapın, 1000 lerce kayıt içinde canlı arama yapmak performans sorunları oluşturabilir
    };

    (function (opt) {
        const options = { // Varsayılan değerler
            liveSearch: true,
            errorMessage: 'Üzgünüz kaydınız bulunamadı',
            successMessage: 'Kaydınız başarılı',
            ...opt,
            clear: () => {
                feedBack.hide()
                input.removeClass('success error')
            },
            search: inp => {
                $.getJSON('filtre.json').then(response => {
                    let values = response.map(e => e.sw)
                    if (inp.value.length) {
                        if (values.includes(inp.value)) {
                            feedBack.html(options.successMessage).removeClass('text-danger').addClass('text-success').show()
                            input.removeClass('error').addClass('success')
                        }
                        else {
                            feedBack.html(options.errorMessage).removeClass('text-success').addClass('text-danger').show()
                            input.removeClass('success').addClass('error')
                        }
                    }
                    else
                        options.clear()
                })
            }
        }
        if (options.liveSearch) {
            input.on({
                input: function() {
                    options.search(this)
                },
                blur: options.clear
            })
        }
        button.on("click", () => {
            options.search(input[0])
        })
    })(sets)
</script>
</body>
</html>

filtre.json aynı dizinde bulunsun.
Bazı geri bildirim özellikleri istenildiği gibi çalışmayabilir. Görsel açıdan