TR Kodlama › Forumlar › Basit Bir Arama Algoritmasındaki İhtiyacınız
- Bu konu boş.
-
YazarYazılar
-
-
5 Ağustos 2010: 02:08 #6660oralunalZiyaretçi
Bir inputa girilen yazıyı aramak için benim kullandığım yöntem şudur:
- Önce girilen değeri boşluklar ve virgüllerle parçalayarak bir dizi oluştururum.
- Bu diziyi foreach döndüsünde mysql sorgusunda gerekli olacak parametrelerle hazırlarım ve birbiriyle birleştiririm.
- Daha sonra da veritabanından sorgulatırım..
Bu kısmı genelde kullanılan bir yöntem.. Fakat işin içine arama sistemlerinde kullanılan “” işaretleri girince işlem biraz daha zorlaşıyor. Ama bu sorun da bundan sonra olmayacak. Siz aşağıdaki arama terimlerini çok rahat sorgulatabilirken;
Aranacak değer: videolu php dersleri
Oluşturulan dizi: 0 => videolu, 1 => php, 2 => dersleriişin içine aşağıdaki gibi tırnak işaretleri girince çok da rahat sorgulatamayabilirdiniz:
Aranacak değer: videolu “php dersleri”
Oluşturulan dizi: 0 => videolu, 1 => php dersleriİşte tırnak işareti kullanan dizileri grup halinde parçalamamızı sağlayan gerekli kod aşağıdaki gibidir:
$aranacakDeger = “videolu “php dersleri””;
$anahtarKelimeler = preg_split(“/[s,]*\”([^\”]+)\”[s,]*|” . “[s,]*'([^’]+)'[s,]*|” . “[s,]+/”, $aranacakDeger, 0, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
?>
preg_split(); fonksiyonu sayesinde tek/çift tırnak arasında kalan bölgeyi bir bütün olarak değerlendirebiliyoruz. Bu kodla boşluklara göre veya virgül işaretine göre parçalama yapıyoruz. Umarım anlatabilmişimdir..Kolay gelsin..[code=php:3lg3qa44]$aranacakDeger = “videolu “php dersleri””;
$anahtarKelimeler = preg_split(“/[s,]*\”([^\”]+)\”[s,]*|” . “[s,]*'([^’]+)'[s,]*|” . “[s,]+/”, $aranacakDeger, 0, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
?>
preg_split(); fonksiyonu sayesinde tek/çift tırnak arasında kalan bölgeyi bir bütün olarak değerlendirebiliyoruz. Bu kodla boşluklara göre veya virgül işaretine göre parçalama yapıyoruz. Umarım anlatabilmişimdir..Kolay gelsin..
-
-
YazarYazılar
- Bu konuyu yanıtlamak için giriş yapmış olmalısınız.