Autor Zpráva
breeta
Profil *
Zdravim mám funkci pro přepisování url nadpisu

function friendly_url($nadpis) {
    $url = $nadpis;
    $url = preg_replace('~[^\\pL0-9_]+~u', '-', $url);
    $url = trim($url, "-");
    $url = iconv("utf-8", "us-ascii//TRANSLIT", $url);
    $url = strtolower($url);
    $url = preg_replace('~[^-a-z0-9_]+~', '', $url);
    return $url;
}


na localhost je to bez problemu ale na webu blbne funkce iconv vynechává české znaky např misto nadvaha - nadvha
Jan Tvrdík
Profil
breeta:
Zkus http://api.nettephp.com/0.9/__filesource/fsource_Nette__String.php.html#a140
MCKAY
Profil
nebo třeba tohle:

<?php
function BezDk($string)
{
    
    $string = str_replace(
        array('ě','š','č','ř','ž','ý','á','í','é','ó','ů','ú','ň','ť','ď',' ','_','Ě','Š','Č','Ř','Ž','Ý','Á','Í','É','Ó','Ů','Ú','Ň','Ť','Ď'),
        array('e','s','c','r','z','y','a','i','e','o','u','u','n','t','d','-','-','E','S','C','R','Z','Y','A','I','E','O','U','U','N','T','D'),
        $string
    );
    $string = strtolower($string);
    
    $pattern = '#([a-z0-9\-]+)#is';
    $slug = '';
    for($i = 0; $i < strlen($string); $i++)
    {
        if(preg_match($pattern,$string[$i]))
            $slug .= $string[$i];
    }
    $url = $slug;
    return $url;
}

//použití
$_POST["jmeno"] = BezDk($_POST["jmeno"]); //jen kdyby si nevěděl:-)


?>
breeta
Profil *
MCKAY pouzil jsem tvoji funkci diky
MCKAY
Profil
Btw: není má, jen jsem ji sem hodil:-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0