php search 'εύελικτο'? (να καταλαβαίνει τις πτώσεις, ενικό, πλυθηντικό, κεφαλαία-μικρά κλπ

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
heisenberg
Δημοσιεύσεις: 88
Εγγραφή: 28 Αύγ 2009 15:15

php search 'εύελικτο'? (να καταλαβαίνει τις πτώσεις, ενικό, πλυθηντικό, κεφαλαία-μικρά κλπ

Δημοσίευση από heisenberg » 20 Σεπ 2011 11:06

καλημέρα,

φτιάχνω ένα website που θα έχει και "Αναζήτηση".

παίρνει τη λέξη που γράφει ο χρήστης, ψάχνει στη βάση να βρει σχετικό κείμενο ( με LIKE %input%) , και γυρνάει τις εγγραφές.

(βρήκα και ενσωμάτωσα αυτό το script: http://www.iamcal.com/publish/articles/php/search/ Αλλά το θέμα μου είναι άσχετο με αυτό το script.)

Το θέμα είναι ότι η αναζήτηση αυτή, δεν διακρίνει τις πτώσεις, μικρά-κεφαλαία, ενικό-πληθυντικό κλπ.

Υπάρχει κάποια λύση σε αυτό; Για ελληνικό κείμενο.

(στα αγγλικά, που δε με ενδιαφέρουν γι αυτό το website, δεν υπάρχει ιδιαίτερο πρόβλημα γιατί δεν έχουν πτώσεις, και ο πληθυντικός είναι κάτι παραπάνω: λέξη +s άρα το LIKE %input% θα το βρει)
Δεν υπάρχει καλύτερο πράγμα από το να έχεις γυναίκα δικηγόρο ...


Άβαταρ μέλους
caspave
Δημοσιεύσεις: 22
Εγγραφή: 24 Μαρ 2009 19:54

php search 'εύελικτο'? (να καταλαβαίνει τις πτώσεις, ενικό, πλυθηντικό, κεφαλαία-μικρά κλπ

Δημοσίευση από caspave » 22 Σεπ 2011 00:16

@gvre To link για mysql που εδωσες εμφανιζει error page.
@heisenberg μεχρι να λαβεις μια καλυτερη απαντηση, μπορεις να δοκιμασεις:

1.Χρηση LOWER στο mysql query σου, πχ:

Κώδικας: Επιλογή όλων

$q = strtolower($leksi_anazitisis);
SELECT `text` FROM `kataxwriseis` WHERE LOWER(`text`) LIKE %$q%;
2.Χρηση της php συναρτησης substr, πχ:

Κώδικας: Επιλογή όλων

$leksi = 'κατασκοπεια';
$leksi_anazitisis = substr($leksi, 0, -2); //=> "κατασκοπε"
Οποτε λυνεις περιπου καπως ετσι το προβλημα των ενικων-πληθυντικων και των πτωσεων. Αντι για -2 μπορεις να βαλεις -3 η -4 αναλογα του τι πιστευεις οτι θα σε καλυπτει πληρως.

Καπως ετσι θα το εκανα εγω :P

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες