PHP / SQL arama script yazım önerilerini nasıl eklenir

4 Cevap php

Sadece LIKE yan tümcesi kullanarak ve sayfada sonucu yankılanan veritabanı üzerinde ALL sorgu bir SELECT kullanarak - yeterince basit php / sql kullanarak benim sitede bir arama fonksiyonu oluşturma. Benim soru durumda kullanıcı arama sorgusu mistyped yazım önerileri ekleyebilirsiniz nasıl olduğunu. Mysql arama terimi veritabanı içeriği ile tam olarak eşleşen sürece bir şey dönmek, örneğin değil "Dofs" "Köpekler" döndürmez. Peki nasıl yazım önerileri eklenebilir?

Teşekkürler.

4 Cevap

Eğer bir yazım denetleyicisi yazmak için nasıl Peter Norvig tarafından mükemmel bir makale bulacaksınız aşağıdaki:

http://www.norvig.com/spell-correct.html

ve aşağıdaki iki bağlantıları makalede bulunan kod PHP uygulamaları şunlardır:

http://www.phpclasses.org/browse/package/4859.html http://soundofemotion.com/spellcorrect.txt

Umarım bu yardımcı olur.

Ne PHP'nin pspell uzantısı hakkında?

<?php
$pspell_link = pspell_new("en");

if (!pspell_check($pspell_link, "dofs")) {
    $suggestions = pspell_suggest($pspell_link, "dofs");

    foreach ($suggestions as $suggestion) {
        echo "Possible spelling: $suggestion<br />";
    }
}
?>

Bu PHP uzantısı aspell kütüphaneleri yüklü olmasını gerektirir.

Eğer aşağıdaki gibi bir şey kontrol etmek gerekir:

http://phpir.com/spelling-correction

Sen bir sözlük ve temelde levenstien işlevini gerekir.

Joe's excellent solution ek olarak, size (bir arama motorunun dil korpus dayanarak) alternatif yazımlar sağlamak için bir sabun arama yapabilirsiniz

Yahoo Spelling Suggestion: http://developer.yahoo.com/search/web/V1/spellingSuggestion.html

Google spelling request: http://code.google.com/apis/soapsearch/reference.html#1_3