Ελληνικά – Greek URL Sanitization WP
Τα ελληνικά στα url εμένε με εκνευερίζουν γιατί όταν πάμε να κάνουμε share βγαίνει ένα τεράστειο μακρυνάρι. Άλλοι για λόγους SEO θεωρούν ότι είναι καλύτερα, άλλοι όχι. Όπως και να έχει εμείς τα κάνουμε όλα santitize με αυτό το καταπλητικό (να είναι καλά ο άνθρωπος) Plugin Τώρα τελευταία έχει βγεί και αυτό αλλά δεν το έχουμε χρησιμοποιήσει. Επίσης υπάρχει και αυτό το function που το κάνει αυτό.
function sanitize_title($title) { if (seems_utf8($title)) { if (function_exists('mb_strtolower')) { $title = mb_strtolower($title, 'UTF-8'); } } $title = strtolower($title); $title = str_replace('.', '-', $title); $title = preg_replace('/\s+/', '-', $title); $title = preg_replace('|-+|', '-', $title); $title = trim($title, '-'); $title = htmlspecialchars(urldecode($title)); $expressions = array( '/[αάΑΆ]/u' => 'a', '/[βΒ]/u' => 'v', '/[γΓ]/u' => 'g', '/[δΔ]/u' => 'd', '/[εέΕΈ]/u' => 'e', '/[ζΖ]/u' => 'z', '/[ηήΗΉ]/u' => 'i', '/[θΘ]/u' => 'th', '/[ιίϊΙΊΪ]/u' => 'i', '/[κΚ]/u' => 'k', '/[λΛ]/u' => 'l', '/[μΜ]/u' => 'm', '/[νΝ]/u' => 'n', '/[ξΞ]/u' => 'x', '/[οόΟΌ]/u' => 'o', '/[πΠ]/u' => 'p', '/[ρΡ]/u' => 'r', '/[σςΣ]/u' => 's', '/[τΤ]/u' => 't', '/[υύϋΥΎΫ]/u' => 'y', '/[φΦ]/iu' => 'f', '/[χΧ]/u' => 'ch', '/[ψΨ]/u' => 'ps', '/[ωώ]/iu' => 'o', '/[αΑ][ιίΙΊ]/u' => 'e', '/[οΟΕε][ιίΙΊ]/u' => 'i', '/[αΑ][υύΥΎ]([θΘκΚξΞπΠσςΣτTφΡχΧψΨ]|\s|$)/u' => 'af$1', '/[αΑ][υύΥΎ]/u' => 'av', '/[εΕ][υύΥΎ]([θΘκΚξΞπΠσςΣτTφΡχΧψΨ]|\s|$)/u' => 'ef$1', '/[εΕ][υύΥΎ]/u' => 'ev', '/[οΟ][υύΥΎ]/u' => 'ou', '/(^|\s)[μΜ][πΠ]/u' => '$1b', '/[μΜ][πΠ](\s|$)/u' => 'b$1', '/[μΜ][πΠ]/u' => 'b', '/[νΝ][τΤ]/u' => 'nt', '/[τΤ][σΣ]/u' => 'ts', '/[τΤ][ζΖ]/u' => 'tz', '/[γΓ][γΓ]/u' => 'ng', '/[γΓ][κΚ]/u' => 'gk', '/[ηΗ][υΥ]([θΘκΚξΞπΠσςΣτTφΡχΧψΨ]|\s|$)/u' => 'if$1', '/[ηΗ][υΥ]/u' => 'iu', ); $title = preg_replace( array_keys($expressions), array_values($expressions), $title ); $title = preg_replace("/[^A-Za-z0-9'_\-\.]/", '-', $title); $title = preg_replace('/\-+/', '-', $title); $title = preg_replace('/^-+/', '', $title); $title = preg_replace('/-+$/', '', $title); return $title; }