logo

Μετατροπή Ελληνικών χαρακτήρων – URL sanitization in Greek

Μετατροπή Ελληνικών χαρακτήρων – URL sanitization in Greek

Ετικέτες: greeksanitize

Τα Ελληνικά στα URL εμένα με εκνευρίζουν γιατί όταν πάμε να κάνουμε share βγαίνει ένα τεράστιο μακρυνάρι. Άλλοι για λόγους SEO θεωρούν ότι είναι καλύτερα, άλλοι όχι.

Όπως και να έχει εμείς τα κάνουμε όλα santitize με αυτό το καταπληκτικό plugin:

AutoConvert Greeklish Permalinks

Επίσης υπάρχει και αυτό το 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;
}

 

 

0 found this helpful