Zadejte hledaný výraz...

Znaky s diakritkou

Jakub
verified
rating uzivatele
(25 hodnocení)
5. 9. 2010 20:14:35
Zdravím,
mám script, ktorý upravuje URL adresy tovaru v Preste. Pri hromadnom importe z CSV Presta vynecháva znaky s diakritikou a v URL sú potom občas nezmysly. Tento script vynechané znaky vloží na svoje miesta. Všetko funguje, ale znaky ľ a Ľ to nahradí pomlčkou. Skúšal som sa v tom vŕtať, ale ja ako neprogramátor som toho moc nevymyslel. Mohol by mi niekto poradiť ako na to aby to ľ a Ľ menilo na l a L?
Vďaka.
function friendly_url($nadpis) {
$url = $nadpis;
$url = strip_tags(html_entity_decode($url));
$url = iconv("UTF-8","windows-1250"."//TRANSLIT",$url);
$noalpha = "xc1xc9xcdxd3xdaxddxe1xe9xedxf3xfaxfdxc2xcaxcexd4xdbxe2xeaxeexf4xfbxc0xc8xccxd2xd9xe0xe8xecxf2xf9xc4xcbxcfxd6xdcxe4xebxefxf6xfcxc3xe3xd5xf5xc5xe5xd1xf1xc7xe7xbaxaax8ex9ex9dx8dxd8xf8x8ax9a";
$alpha = 'AEIOUYaeiouyAEIOUaeiouACENUrcenuAEIOUaedouAaOoLlNnCcsSZztTRrSs';
$url = strtr($url, $noalpha, $alpha);
$url = strtolower($url);
$url = preg_replace('~+~', '-', $url);
$url = trim($url, "-");
$url = preg_replace('~+~', '', $url);
echo $url."n";
return $url;
}
//projde všechny výrobky v db
@$spojeni = MySQL_Connect('server' ,'user', 'heslo');
@MySQL_Select_DB('databaza');
if (!$spojeni):
echo "MySQL fatal error (no database)";
endif;
mysql_query("SET CHARACTER SET utf8");
$sql = "select id_product, name, id_lang from presta_product_lang";
$query = mysql_query($sql);
$num = mysql_num_rows($query);
while ($row=mysql_fetch_assoc($query)):
$url = friendly_url($row);
$sql2 = "update presta_product_lang set link_rewrite = '$url' where id_product = {$row} and id_lang = {$row}";
mysql_query($sql2) or die("SQL dotaz nešlo provést");
endwhile;
echo "OK";
?>
5. 9. 2010 20:14:35
https://webtrh.cz/diskuse/znaky-s-diakritkou/#reply553659
Martin
verified
rating uzivatele
(36 hodnocení)
5. 9. 2010 21:22:20
Zkus funkci friendly_url nahradit tou, která je popsána na http://php.vrana.cz/vytvoreni-pratelskeho-url.php:
/** Vytvoření přátelského URL
* @param string řetězec v kódování UTF-8, ze kterého se má vytvořit URL
* @return string řetězec obsahující pouze čísla, znaky bez diakritiky, podtržítko a pomlčku
* @copyright Jakub Vrána, http://php.vrana.cz/
*/
function friendly_url($nadpis) {
$url = $nadpis;
$url = preg_replace('~+~u', '-', $url);
$url = trim($url, "-");
$url = iconv("utf-8", "us-ascii//TRANSLIT", $url);
$url = strtolower($url);
$url = preg_replace('~+~', '', $url);
return $url;
}
?>
5. 9. 2010 21:22:20
https://webtrh.cz/diskuse/znaky-s-diakritkou/#reply553658
Pro odpověď se přihlašte.
Přihlásit