Autor Zpráva
Gioel
Profil *
mam funkciu co mi vytvori corektnu URL z akeko kolvek nazvu.. mam to cez takuto funkciu:

Function create_seo_url($str) {

// prevedu sa vsetky medzery na pomlcky
$str = str_replace(' ', '-', $str);

// definicia diakritickych znakov
static $diacritical_letters_alphabet = array(
"Á" => "A", // Á - sk, cs, fr
"Ä" => "A", // Ä - sk, de
"Ă" => "A", // Ă - ro
"Â" => "A", // Â - ro, fr
"ˇ" => "A", // ˇ - pl
"À" => "A", // À - it, fr
"Æ" => "AE", // Æ - dk
"Å" => "A", // Å - dk
"Č" => "C", // Č - sk, cs, hr
"Ć" => "C", // Ć - pl, hr
"Ç" => "C", // Ç - fr
"Ď" => "D", // Ď - sk, cs
"Đ" => "D", // Đ - hr
"É" => "E", // É - sk, cs, it, fr
"Ě" => "E", // Ě - cs
"Ę" => "E", // Ę - pl
"È" => "E", // È - it, fr
"Ê" => "E", // Ê - fr
"Ë" => "E", // Ë - fr
"Í" => "I", // Í - sk, cs, fr
"Î" => "I", // Î - ro, fr
"Ì" => "I", // Ì - it, fr
"Ï" => "I", // Ï - fr
"Ĺ" => "L", // Ĺ - sk
"Ą" => "L", // Ą - sk
"Ł" => "L", // Ł - pl
"Ň" => "N", // Ň - sk, cs
"Ń" => "N", // Ń - pl
"Ó" => "O", // Ó - sk, cs, pl, it, fr
"Ô" => "O", // Ô - sk, fr
"Ö" => "O", // Ö - de, dk
"Ò" => "O", // Ò - it, fr
"Ø" => "O", // Ø - dk
"Œ" => "OE", // Œ - fr
"Ŕ" => "R", // Ŕ - sk
"Ř" => "R", // Ř - cs
"©" => "S", // © - sk, cs, hr
"Ș" => "S", // Ș - ro
"¦" => "S", // ¦ - pl
"ß" => "S", // ß - de
"«" => "T", // « - sk, cs
"Ț" => "T", // Ț - ro
"Ú" => "U", // Ú - sk, cs, fr
"Ů" => "U", // Ů - cs
"Ü" => "U", // Ü - de, fr
"Ù" => "U", // Ù - it, fr
"Û" => "U", // Û - fr
"Ý" => "Y", // Ý - sk, cs
"®" => "Z", // ® - sk, cs, hr
"¬" => "Z", // ¬ - pl
"Ż" => "Z", // Ż - pl

"á" => "a", // á - sk, cs, fr
"ä" => "a", // ä - sk, de
"ă" => "a", // ă - ro
"â" => "a", // â - ro, fr
"±" => "a", // ± - pl
"à" => "a", // à - it, fr
"æ" => "ae", // æ - dk
"å" => "a", // å - dk
"č" => "c", // č - sk, cs, hr
"ć" => "c", // ć - pl, hr
"ç" => "c", // ç - fr
"ď" => "d", // ď - sk, cs
"đ" => "d", // đ - hr
"é" => "e", // é - sk, cs, it, fr
"ě" => "e", // ě - cs
"ę" => "e", // ę - pl
"è" => "e", // è - it, fr
"ê" => "e", // ê - fr
"ë" => "e", // ë - fr
"í" => "i", // í - sk, cs, fr
"î" => "i", // î - ro, fr
"ì" => "i", // ì - it, fr
"ï" => "i", // ï - fr
"ĺ" => "l", // ĺ - sk
"µ" => "l", // µ - sk
"ł" => "l", // ł - pl
"ň" => "n", // ň - sk, cs
"ń" => "n", // ń - pl
"ó" => "o", // ó - sk, cs, pl, it, fr
"ô" => "o", // ô - sk, fr
"ö" => "o", // ö - de, dk
"ò" => "o", // ò - it, fr
"ø" => "o", // ø - dk
"œ" => "oe", // œ - fr
"ŕ" => "r", // ŕ - sk
"ř" => "r", // ř - cs
"ą" => "s", // ą - sk, cs, hr
"¶" => "s", // ¶ - pl
"ș" => "s", // ș - ro
"»" => "t", // » - sk, cs
"ț" => "t", // ț - ro
"ú" => "u", // ú - sk, cs, fr
"ů" => "u", // ů - cs
"ü" => "u", // ü - de, fr
"ù" => "u", // ù - it, fr
"û" => "u", // û - fr
"ý" => "y", // ý - sk, cs
"ľ" => "z", // ľ - sk, cs, hr
"Ľ" => "z", // Ľ - pl
"ż" => "z" // ż - pl
);

// nahradi diakriticke pismenka
$str = StrTr($str, $diacritical_letters_alphabet);

// prevod na vsetky male pismenka
$str = strtolower($str);

$temp_string = "";
// prejde cele slovo a necha iba pismeka od a po z a pomlcky
For ($i=0; $i<strlen($str); ++$i) {
if (ereg('[a-z-]', $str[$i])) {
$temp_string .= $str[$i];
} // end if..
} // end for..

return $temp_string;

}


existuje nejake jednoduchsie riesenie? tat fukncia momentalne z 8 jazykmi.. ale problem mam vzdy ked
pribudnu dalsie bo musim pridavat dalsie znaky, viete mi poradit?
pmasarik
Profil
uff ty so to teda riadne prekombinoval
http://php.vrana.cz/vytvoreni-pratelskeho-url.php
Gioel
Profil *
bohuzial ja som tamtu funkciu skusal ako aj XXY inych... ale bohuzial nic mi nefungovalo iba toto moje a dumal som na tym
dost.. ved sa skuste pozriet:
http://www.powerplaymanager.com/test/test_seo_url.php
ta funkcia co je na php.vrana.cz mi proste odstranuje niektore diakriticne znaky..
To prve je nazov stranky druje je to spravene hore uvedenou funckiou a ta tretia je funkcia z php.vrana.cz
krteczek
Profil
Gioel: koukám na ten script: v jakém kodování ta stránka je?
krteczek
Gioel
Profil *
Script test_seo_url.php a aj udaje v databaze su v UTF-8
Cim to je zeby to nefunguje? mne ta funkcia z php.vrana.cz proste nefunguje..
Toto téma je uzamčeno. Odpověď nelze zaslat.