PHP Greeklish permalinks (osclass)

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

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

Απάντηση
Άβαταρ μέλους
gagger
Δημοσιεύσεις: 98
Εγγραφή: 16 Φεβ 2012 22:02

PHP Greeklish permalinks (osclass)

Δημοσίευση από gagger » 27 Ιούλ 2013 17:48

Γειά σας ξέρει κανείς άμα είναι δυνατόν να φτιαχτεί κάποιο plugin για το osclass που να μεταφράζει αυτόματα κάθε λινκ αγγελίας σε greeklish απο Ελληνικά? η οποιοσδήποτε άλλος τρόπος κάποιο hint κάτι :roll:

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

PHP Greeklish permalinks (osclass)

Δημοσίευση από burnmind » 27 Ιούλ 2013 18:22

Σε όποιο project χρειάζεται, χρησιμοποιώ ως βάση αυτό.

Άβαταρ μέλους
gagger
Δημοσιεύσεις: 98
Εγγραφή: 16 Φεβ 2012 22:02

PHP Greeklish permalinks (osclass)

Δημοσίευση από gagger » 28 Ιούλ 2013 22:49

Ευχαριστώ πολύ φίλε μου! είναι μια αρχή αν και δεν έχω ιδέα πως θα το κάνω να δουλέψει με το osclass θα το ψάξω, άμα μπορούσες να βοηθήσεις θα ήταν ωραία! :D

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

PHP Greeklish permalinks (osclass)

Δημοσίευση από burnmind » 28 Ιούλ 2013 23:41

Η χρήση αυτού που σου έδωσα είναι πολύ απλή. Του στέλνεις μια πρόταση (πχ τον τίτλο της αγγελίας) και σου επιστρέφει το slug, όπως φαίνεται και στα παραδείγματα που υπάρχουν στο readme.

Δυστυχώς δε μπορώ να σε βοηθήσω με το πώς θα το συνδέσεις με το osclass (τι θα κάνεις δηλαδή με το slug αφότου στο επιστρέψει), καθώς δεν το έχω χρησιμοποιήσει ποτέ, οπότε δε γνωρίζω πως λειτουργεί.

Άβαταρ μέλους
gagger
Δημοσιεύσεις: 98
Εγγραφή: 16 Φεβ 2012 22:02

PHP Greeklish permalinks (osclass)

Δημοσίευση από gagger » 29 Ιούλ 2013 00:46

Οκ ευχαριστώ παρα παρα πολυ!

Άβαταρ μέλους
gagger
Δημοσιεύσεις: 98
Εγγραφή: 16 Φεβ 2012 22:02

PHP Greeklish permalinks (osclass)

Δημοσίευση από gagger » 03 Αύγ 2013 06:20

γειά και πάλι, επιτέλους με τη βοήθεια ενός προγραματιστή και την δικιά σου τώρα λειτουργεί το script που μου έδωσες, έχω μια ερώτηση:

Υπάρχει πρόβλημα με το seo πχ το αυτοκίνητα το μεταφράζει σε aytokinita το οποίο το google δεν το καταλαβαίνει (ο σωστό θα ήταν autokinita) Αν και νομίζω οτι ξέρω την απάντηση, πρέπει να το ρωτήσω... υπάρχει κάποιος τρόπος να μεταφράζει σωστα το y και το u ?

πχ. στα αυτοκίνητα όπως είπαμε το σωστό θα ήταν autokinita αλλά στο ύπνος το σωστό θα ήταν με y (ypnos) (σωστό ως προς το google τουλάχιστον)

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

PHP Greeklish permalinks (osclass)

Δημοσίευση από korgr » 03 Αύγ 2013 08:29

Μια χαρά βλέπω να αναγνωρίζει τα αυτοκίνητα το Google για το keyword "aytokinita"

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

PHP Greeklish permalinks (osclass)

Δημοσίευση από alou » 03 Αύγ 2013 13:20

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

<?php
$lathos_dif = array&#40;ay, ey, oy&#41;;
$swstoi_dif = array&#40;au, eu, ou&#41;;

$textin = 'ayta ta oy kai ta ey allazoun eykola';
$final = str_replace&#40;$lathos_dif, $swstoi_dif, $textin&#41;;

echo $final;
?>
ayta ta oy kai ta ey allazoun eykola => auta ta ou kai ta eu allazoun eukola

Αυτό θα πρέπει να τρέξει αφού έχουν γίνει οι αντικαταστάσεις της γλώσσας βέβαια, απλά βάλε τα λάθος και τις αντικαταστάσεις τους με την σωστή σειρά στο array, αν προσθέσεις κάτι.

edit:
Δεν μπορείς να εξασφαλίσεις ότι οι δίφθογγοι αυτοί είναι πραγματικά δίφθογγοι όμως και όχι άυλος = > aylos => aulos, αν σε νοιάζει κάτι τέτοιο βέβαια. Αυτό θα μπορούσε να γίνει μόνο με ένα τσεκάρισμα στο αρχικό string με τα ελληνικά, αλλάζοντας πολύ τον τρόπο που γίνονται οι αντικαταστάσεις των γραμματων στο link του burnmind.

Άβαταρ μέλους
gagger
Δημοσιεύσεις: 98
Εγγραφή: 16 Φεβ 2012 22:02

PHP Greeklish permalinks (osclass)

Δημοσίευση από gagger » 03 Αύγ 2013 16:12

korgr έγραψε:Μια χαρά βλέπω να αναγνωρίζει τα αυτοκίνητα το Google για το keyword "aytokinita"
Εννοειται το αναγνωρίζει.... μιλάμε για seo εδω όπως ανέφερα άμα ψάξεις για αυτοκίνητο θα δείς ότι όσες σελίδες έχουν τη λέξη autokinito τις έχει κάνει bold το google ενω τις σελίδες που έχουν λινκ aytokinito τις αφήνει έτσι όπως είναι.

@alou: Ευχαριστώ για την απάντηση, μπορείς να μου πείς σε πιο σημείο θα βάλω αυτον τον κώδικα που έδωσες μέσα στο GreekSlugGenerator.php? αυτό πιστεύω θα την κάνει την δουλειά του (είμαι λίγο άσχετος με php)

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

PHP Greeklish permalinks (osclass)

Δημοσίευση από burnmind » 03 Αύγ 2013 16:28

Αυτό που πρότεινε ο alou θα το βάλεις αφότου κάνεις την αρχική μετατροπή. Όπου $textin στο παράδειγμα που έδωσε, θα είναι το slug που σου επέστρεψε ο slug generator.

Άβαταρ μέλους
gagger
Δημοσιεύσεις: 98
Εγγραφή: 16 Φεβ 2012 22:02

PHP Greeklish permalinks (osclass)

Δημοσίευση από gagger » 03 Αύγ 2013 16:45

και πάλι δεν καταλαβα :( όπως είπα δεν ξέρω php)

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

PHP Greeklish permalinks (osclass)

Δημοσίευση από burnmind » 03 Αύγ 2013 17:09

Τότε στειλ' το σ' αυτόν που σου το έφτιαξε και δούλεψε με το σύστημά σου (θα καταλάβει τι να κάνει), ή άρχισε να μαθαίνεις php. :P

Η πιο αναλυτική περιγραφή που μπορώ να σου δώσω είναι η εξής:

Αφού είπες πως δουλεύει, άρα έχεις το slug σε κάποια μεταβλητή και το κάνεις κάτι (πχ το αποθηκεύεις στη βάση). Πριν κάνεις το "κάτι" λοιπόν, περνάς αυτή τη μεταβλητή από αυτό που έγραψε ο alou (όπου η μεταβλητή σου θα πάρει τη θέση της $textin στο παράδειγμα), και μετά τις αντικαταστάσεις, το καινούριο σου slug θα βρίσκεται στη μεταβλητή $final.

Άβαταρ μέλους
gagger
Δημοσιεύσεις: 98
Εγγραφή: 16 Φεβ 2012 22:02

PHP Greeklish permalinks (osclass)

Δημοσίευση από gagger » 03 Αύγ 2013 17:21

Οκ ευχαριστώ πολύ για την βοήθεια θα το ψάξω

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

PHP Greeklish permalinks (osclass)

Δημοσίευση από alou » 03 Αύγ 2013 17:26

Ακριβώς όπως το λέει ο burnmind είναι, πρακτικά, αντικαθιστάς το get_slug fn στο class που είναι στο link με το παρακάτω:

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

public function get_slug&#40;$str&#41;
    &#123;
        $slyg = '';
        $last_char = '';
        $current_char = '';
        $str = trim&#40;$str&#41;;

        for &#40;$i = 0; $i < mb_strlen&#40;$str, 'utf-8'&#41;; $i++&#41;
        &#123;
            $char = $this->utf8_substr&#40;$str, $i, 1&#41;;
            $current_char = $this->convert_character&#40;$char&#41;;
            
            if&#40;$current_char === $last_char && $current_char === '-'&#41;
            &#123;
                //ignore character
            &#125;
            else
            &#123;
                $slyg .= $current_char;
            &#125;

            if&#40;!empty&#40;$current_char&#41;&#41;
            &#123;
                $last_char = $current_char;
            &#125;
        &#125;
        
        $lathos_dif = array&#40;ay, ey, oy&#41;;
        $swstoi_dif = array&#40;au, eu, ou&#41;; 

        $slug = str_replace&#40;$lathos_dif, $swstoi_dif, $slyg&#41;; 

        return $slug;
    &#125;

Άβαταρ μέλους
gagger
Δημοσιεύσεις: 98
Εγγραφή: 16 Φεβ 2012 22:02

PHP Greeklish permalinks (osclass)

Δημοσίευση από gagger » 03 Αύγ 2013 18:02

ευχαριστωωωωωωωωω!!!! δουλεύει σύρμα!
νομίζω έχεις ενα ορθογραφικό και μου πήρε λίγη ώρα να το καταλάβω :P

πανω πανω $slyg = '';
και κάτω
$slyg :) το επισημαίνω μήπως και το δεί κάποιος στο μέλλον να μην ψάχνεται

αυτό μπορώ να το τροποποιήσω τώρα όπως θέλω? πχ

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

        $lathos_dif = array&#40;ay, ey, oy, pou&#41;;
        $swstoi_dif = array&#40;au, eu, ou, poy&#41;;  
ευχαριστώ και πάλι και τους 2 θερμά

Απάντηση

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

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

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