merhaba;
bir şey aradık mesela : "yazan" , bu na benzer konular bulmak istiyorum mesela
yazın
yuzun
yaşam
yegane
bunu mysql i yormadan en basit şekilde nasıl yapabilirim bi fikri olan var mı ?
kısacası aranan kelimeye , harf sıralamasına göre yaparsak 3 ve daha fazla harfi benzicek. teşekkürler
Başlığa benzer konular arama
9
●2.064
- 19-12-2009, 15:45:59Üyeliği durduruldumysql in böyle bir fonksiyonu vardı lisedeyken görmüştüm ama not almadım aylardır arıyorum bulamıyorum. hatta incelerken google'ın bunu mu demek istediniz özelliği gibi kullanırım demiştim. az çok bişiler buldum.
hocam bunlarla birşeyler yapılabilir belki
http://tr.php.net/levenshtein
http://tr.php.net/manual/tr/function.similar-text.php
http://tr.php.net/manual/tr/function.soundex.php
levenshtein e bir örnek
http://urbanoalvarez.es/blog/2008/05...u-mean-in-php/
belki ip ucu
1. SELECT * FROM TABLOISMI WHERE SOUNDEX(ALANADI) = SOUNDEX(”STRING DEGER”);http://www.kivancciftci.com/php-mysql-ve-soundex/ - 19-12-2009, 16:17:18http://www.dmry.net/php-levenshtein-...imeleri-bulmak
Buraya da bakabilirsiniz. - 19-12-2009, 16:48:24Üyeliği durdurulduKolay gelsin
<?php $aranan = 'ogz'; $kelimeler = array('oguz koc','oguzhan koc','oguzcuk','oguzkoc.com.tr', 'onurcan','oguzhan','ozan'); $mesafe = -1; foreach ($kelimeler as $kelime) { $lev = levenshtein($aranan, $kelime); if ($lev == 0) { $nerede = $kelime; $mesafe = 0; break; } if ($lev <= $mesafe || $mesafe < 0) { $nerede = $kelime; $mesafe = $lev; } } echo "Aranan:". $aranan."<br><br>\n"; if ($mesafe == 0) { echo "Yazdığınız Kelimeye Ait Sonuç: $nerede\n"; } else { echo "Bunumu Demek İstediniz?: $nerede\n"; } ?> - 19-12-2009, 16:56:17Güzel bir alıntı olmuş teşekkürlerBHCoder adlı üyeden alıntı: mesajı görüntüle
- 19-12-2009, 17:01:14Üyeliği durduruldugoogleden arasan bulursun zatenaLp3R3n adlı üyeden alıntı: mesajı görüntüle
fantazi yapalım diyorsan yazarız daha güzelini 
-------------
orjinalide yayınlıyayım manueldeki.yukarıdakinide oradan alıntı yapmışlar zaten
<?php // input misspelled word $input = 'carrrot'; // array of words to check against $words = array('apple','pineapple','banana','orange', 'radish','carrot','pea','bean','potato'); // no shortest distance found, yet $shortest = -1; // loop through words to find the closest foreach ($words as $word) { // calculate the distance between the input word, // and the current word $lev = levenshtein($input, $word); // check for an exact match if ($lev == 0) { // closest word is this one (exact match) $closest = $word; $shortest = 0; // break out of the loop; we've found an exact match break; } // if this distance is less than the next found shortest // distance, OR if a next shortest word has not yet been found if ($lev <= $shortest || $shortest < 0) { // set the closest match, and shortest distance $closest = $word; $shortest = $lev; } } echo "Input word: $input\n"; if ($shortest == 0) { echo "Exact match found: $closest\n"; } else { echo "Did you mean: $closest?\n"; } ?> - 19-12-2009, 22:11:06teşk arkadaşlar, levenshtein iş görüyor fakat mysql den bunu nasıl sorgulatıcaz ? (SOUNDEX istediğim işi görümüyor)
hepsini bir array e toplıyım başlıkları, ordan levenshtein çekiyim dedim. o zaman oluyor en yakınını buluyor. ama benim istediğim anlık mysql sorgu yaparak en mantıklısından en mantısızına doğru ilk 10 başlığı vermesi. - 19-12-2009, 23:43:36yanlış anlamışsın beni, bu sadece konuları çeker, ben anlık çekerken sorgulatma olayını soruyorum.aLp3R3n adlı üyeden alıntı: mesajı görüntüle
fantazi yapalım diyorsan yazarız daha güzelini