WebDevel Tips: Crearea alias-urilor/permalink-urilor/slug-urilor pentru paginile web

Unul dintre cele mai importante criterii din punct de vedere SEO sunt linkurile prietenoase. Pentru un blog de exemplu acest lucru presupune transformarea titlului articolului intr-un alias/url care poate fi interpretat de browsere.

Exemplu: WebDev Tips: Crearea alias-urilor/permalink-urilor/slug-urilor pentru paginile web

webdev-tips-crearea-alias-urilorpermalink-urilorslug-urilor-pentru-paginile-web

In acest sens am modificat o functie din Codeigniter pentru a va ajuta in aceasta transformare. Iata codul:

function url_title($str, $separator = 'dash', $lowercase = FALSE)
{
	if ($separator == 'dash')
	{
		$search		= '_';
		$replace	= '-';
	}
	else
	{
		$search		= '-';
		$replace	= '_';
	}

	//transformam caracterele non english precum caracterele romanesti, germane etc..
	//in echivalentul lor english (a,s,t,...)
	$str = Normalizer::normalize($str);

	$trans = array(
					'&\#\d+?;'				=> '',
					'&\S+?;'				=> '',
					'\s+'					=> $replace,
					'[^a-z0-9\-\._]'		=> '',
					$replace.'+'			=> $replace,
					$replace.'$'			=> $replace,
					'^'.$replace			=> $replace,
					'\.+$'					=> ''
				);

	$str = strip_tags($str);

	foreach ($trans as $key => $val)
	{
		$str = preg_replace("#".$key."#i", $val, $str);
	}

	if ($lowercase === TRUE)
	{
		$str = strtolower($str);
	}

	return trim(stripslashes($str));
}

Necesita PHP > 5.3.0 si PECL intl >= 1.0.0 pentru a utiliza clasa Normalizer din PHP care transforma caracterele non-english in echivalentul lor.

Sper sa o gasiti utila!

Alexandru David

Comments are closed.