Pomoglo bi kada bi rekao sta dobijas bez //TRANSLIT mrzi me da testiram sada.
U sustini jedini trenutak kada sam imao problem sa ovom konverzijom jeste kada sam morao da prevedem m$ office karaktere. (produzeni minus) To sam resio tako sto sam radio str_replace. Ako je to i tvoj problem jednostavno zameni produzeni minus (cini mi se da je 0x96 mada nisam siguran) sa obicnim minusom, isto mozes da uradis sa svim ostalim karakterima koji ti prave problem, sigurno ih nema mnogo.
Sto se //TRANSLIT tice on ce ti retko pomoci u onome sto zelis da postignes. On je zaista zamenio sa slicnim karakterima, ali problem je u tome sto ni ti karakteri nisu url firendly.
I jos kao dodatak evo kako sam ja resavao problem url-ova.
PHP kôd:
function keyword_url ($string) {
$keyword_array = explode(" ", strtolower($string));
for ($j=0; $j<count($keyword_array); $j++)
{
$patterns = array(
";", "@", "?", ":", "=", "&",
"<", ">", '"', "#", "[", "]",
"%", "{", "}", "|", "^", "~",
"/", "\\", "`", "$", "-", "'", " - ",
"´", "(", ")", ".", ",", "*", "-", "--",
" ;", " @", " ?", ":", "=", "&",
" < ", " > ", ' " ', " # ", " [ ", " ] ",
" % ", " { ", " } ", " | ", " ^ ", " ~ ",
" / ", " \\ ", " ` ", " $ ", " - ", " ' ",
"´ ", " ( ", " ) ", " . ", " , ", " * ",
" - ", " -- "," "
);
$replacements = "";
$keyword_array[$j] = str_replace($patterns, $replacements, $keyword_array[$j]);
}
$keyword_array = array_unique($keyword_array);
//common
$replacements = "";
$no = count($keyword_array);
for ($i=0; $i<$no; $i++) {
if (strlen($keyword_array[$i])>2) {
$keyword_array1[$z] = $keyword_array[$i];
$z++;
}
}
$keyword_string = implode("-", $keyword_array1);
$keyword_array = str_replace("--", "-", $keyword_string);
return $keyword_array;
}
i razne varijacije na istu temu...