Pogledajte određenu poruku
Staro 02. 02. 2008.   #2
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

replace je alias za str_replace, a ta funkcija ne zna da radi sa utf8... evo ti moja php funkcija koja radi to:
PHP kôd:
/**
 * Nasa slova sa akcentima (č,ć,š,đ,ž) prebacuje u ascii ekvivalente (c,c,s,dj,z)
 * @autor Ivan Dilber (bazirano na istoimenoj Wordpress f-ji)
 * @param string $string UTF8 tekst sa nasim slovima
 * @return string tekst gde su sva nasa slova zamenjena ascii ekvivalentima
 */
function remove_accents($string) {
    
$chars = array(
        
chr(196).chr(134) => 'C'chr(196).chr(135) => 'c',    // ovo je za ć
        
chr(196).chr(140) => 'C'chr(196).chr(141) => 'c',    // ovo je za č
        
chr(196).chr(144) => 'Dj'chr(196).chr(145) => 'dj',    // ovo je za đ
        
chr(197).chr(160) => 'S'chr(197).chr(161) => 's',    // ovo je za š
        
chr(197).chr(189) => 'Z'chr(197).chr(190) => 'z',    // ovo je za ž
    
);

    return 
strtr($string$chars);

Od ovoga mozes lako da napravis smarty filter, ali mnogo je logicnije (i efikasnije) da se tekst cisti u php-u, a ne u templejtu.
EDIT: Ako hoces drugaciju transliteraciju (npr. č -> ch) samo zameni u funkciji vrednost za dati key u $chars nizu
__________________
Leadership is the art of getting people to want to do what you know must be done.

Poslednja izmena od ivanhoe : 02. 02. 2008. u 17:12.
ivanhoe je offline   Odgovorite uz citat