logo

Ελληνικά – Greek URL Sanitization WP

Ελληνικά – Greek URL Sanitization WP

Ετικέτες: greeksanitize

Τα ελληνικά στα 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;
}

 

 

0 found this helpful