Loading...
Socials
2010
02. 22.

Amikor adatbázisba mentünk tartalmi és egyéb címeket, akkor olyan formára kell hozni, ami a keresőknek megfelelő. Ezeket a címeket általában át kell egy kicsit alakítani, hogy szép legyen, kivenni az ékezeteket, különleges karaktereket, stb…

[ad#co-1]
Az alábbi php script képes arra, hogy a magyar ékezeteket átalakítsa angol betűkre, kiszűrje a nem szóalkotó karaktereket és “Keresőbarát url” formára hozza a szöveget az az “Alias” címet csináljon az eredeti címünkből.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function hungarianToEnglishConvert($string, $noSpace = false)
{
	//Magyar ékezetes betűk
	$hungarianABC = array(
	'á','é','í','ó','ö','ő','ú','ü','ű',
	'Á','É','Í','Ó','Ö','Ő','Ú','Ü','Ű');
	//Angol ékezetes betűk
	$englishABC = array(
	'a','e','i','o','o','o','u','u','u',
	'A','E','I','O','O','O','U','U','U');
 
	//Ürek karakter (space) átalakítása
	if($noSpace !== false){
		return str_replace(' ', $noSpace, hungarianToEnglishConvert($string));
	}
 
	return str_replace($hungarianABC, $englishABC, $string);
}
 
function createAlias($name)
{
	$return = NULL;
	if($name)
	{
		//Ékezetek eltávolítása és kisbetűvé alakítása
		$return = strtolower( hungarianToEnglishConvert($name) );
		//Összes nem szóalkotó karakter átalakítása
		$return = preg_replace("/\W/", " ", $return);
		//Szóközök átalakítása
		$return = preg_replace("/ +/", "-", trim($return));
	}
 
	return $return;
}
 
//Eredmény: cim-atalakitasa-keresok-szamara
echo createAlias('Cím átalakítása keresők számára.');

Vélemények