Arama motoru yazabiliyorum[site içinde mysql de arayan]. Fakat akıllı arama motorları nasıl yazılıyor? Yani -ekşisözlükte var mesela- benzer harflere göre şunlar var işine yarar diyor. nasıl yapailirim?
Arama motoru yazabiliyorum[site içinde mysql de arayan]. Fakat akıllı arama motorları nasıl yazılıyor? Yani -ekşisözlükte var mesela- benzer harflere göre şunlar var işine yarar diyor. nasıl yapailirim?
yazdıgın kelimedeki karakterleri alıp bir iki harfini değiştirip aratıyor bulduklarınıda ekrana yazdırıyor olsa gerek
mesela ceviz yazınca ceviz yoksa c nin yerine harfleri sırayla koyup taratıyor bu islemi tum harflere yapıyor olabilir gerçi buda veritabanını yorar ama daha pratik bir cozum yoksa en mantıklısı bu olsa gerek
Hakan Başar AKSAN
http://www.hakanaksan.com.tr
MCTS : Windows Developer
MCTS : Web Developer
MCPD : Windows Developer
yada gelen kelimeyi yorumluyorsun
mesela ekşi sözlükte "bir entellektüel forum olarak ceviz net" başlığını açmak istersen sana "bir entellektüel olarak ceviz net yazmak yerine ceviz net başlığına bir entellektüel forum yaza bilirsin" tarzında bir uyarı verir bunun mantığı da
PHP Kodu:<?
$metin="bir entellektüel forum olarak ceviz net";
preg_match("#olarak(.*?)#i",$metin,$degisken); // "olarak" kelimesi bulunuyor ve sonradan kelime geliyor
preg_match("#(.*?)olarak#i",$metin,$degisken2); // "olarak" kelimesi bulunuyor ve önceden gelime geliyor
if ($degisken!=NULL and $degisken2!=NULL) {
echo $metin." yazmak yerine ".$degisken." başlığının altına ".$degisken2." yazman daha güzel olur san ki ne dersin?";
}
?>
白石美帆 おっぱいチラ
Benzer sonuçlar içinde;
Örneğin arama: arama.php?kelime=photoshop+9.0+css2+yükle
olsun.
PHP Kodu:$kelime=trim($_GET[kelime]);
$kelime=strip_tags($kelime);
$bol=explode("+",$kelime);
$say=count($bol);
if ($say>1) {
$sorgu=mysql_query("select field from tablo where (field LIKE '%".$kelime."%' or field LIKE '%".$bol[1]."%' or field LIKE '%".$bol[2]."%') order by field limit 10");
} else if ($say>2) {
$sorgu=mysql_query("select field from tablo where (field LIKE '%".$kelime."%' or field LIKE '%".$bol[1]."%' or field LIKE '%".$bol[2]."%' or field LIKE '%".$bol[3]."%') order by field limit 10");
} else if ($say>3) {
$sorgu=mysql_query("select field from tablo where (field LIKE '%".$kelime."%' or field LIKE '%".$bol[1]."%' or field LIKE '%".$bol[2]."%' or field LIKE '%".$bol[3]."%' or field LIKE '%".$bol[4]."%') order by field limit 10");
} else {
$sorgu=mysql_query("select field from tablo where field LIKE '%".$kelime."%' order by field limit 10");
}
while ($oku=mysql_fetch_array($sorgu) {
echo $oku[field]."<br />";
}
白石美帆 おっぱいチラ
saol çalıştırdım. ama kodda bir hata var düzelteyim;
kodunda bir parantez eksik kalmış.PHP Kodu:while ($oku=mysql_fetch_array($sorgu) {
PHP Kodu:while ($oku=mysql_fetch_array($sorgu)) {
soundex() fonksiyonunu kullanabilirsin PHP'de, veritabanında her başlığın SoundEx algoritmasına göre çıkartılmış kodu bulunur ve karşılaştırılabilir. Şuraya bir göz atabilirsin...
Tabii SoundEx İngilizce dil yapısına göre hazırlandığı için Türkçe'de bazen alakasız sonuçlar gösterilebilir, o konuda kesin bir şeyler diyemeyeceğim![]()
"...peki bu bilgi gerçek hayatta ne işime yarayacak?..."
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks