[ vladimirn @ 13.09.2007. 13:52 ] @
Dodao sam u plugin jedan fajl koji sam nazvao modifier.cirilica.php

U njmu je sledeci code
Code:

function smarty_modifier_cirilica ($s)
 {
$cir2 = array('lj', 'nj', 'dž', 'Lj', 'Nj', 'Dž'); 
            $lat2 = array('lj', 'nj', 'dž', 'Lj', 'Nj', 'Dž'); 
     
            $cir = array('lj','nj','e','r','t','z','u','i','o','p',' 
š','đ','ž','ć','č','l','k','j','h','g','f','d','s', 
            'a','m','n','b','v','c','dž','ѕ','Lj','Nj','E','R','T' 
,'Z','U','I','O','P','Š','Đ','Ž','Ć','Č', 
            'L','K','J','H','G','F','D','S','A','M','N','B','V' 
,'C','Dž','Ѕ'); 
     
            $lat = array('lj','nj','e','r','t','z','u','i','o','p','š','đ' 
,'ž','ć','č','l','k','j','h','g','f','d','s', 
            'a','m','n','b','v','c','dž','y','Lj','Nj','E','R','T','Z','U', 
'I','O','P','Š','Đ','Ž','Ć','Č', 
            'L','K','J','H','G','F','D','S','A','M','N','B','V','C','Dž','Y 
'); 
     
            $s=str_replace($lat2, $cir2, $s); 
            $s=str_replace($lat, $cir, $s); 
            return $s; 
}


U okviru tpl stranice, ja pozovem nesto iz baze na sledeci nacin:
Code:

{section name=n loop=$mojLoop}
{$mojLoop[n].nekiOpis | cirilica}
{/section}


I na stranici dobijem:(ovo ispod je sve cirilica, osim slova Š - ES je sve pretvorio u latinicno pismo)
<p><strong>&Scaron;ta su ciljevi sajta i kako se iskazuju?<br /><br />Po pravilu, dobro definisani poslovni ciljevi su jasno iskazani nekim brojem i nema nikakvog razloga da to tako ne bude i kod sajtova. <p>U nastavku su navedeni upro&scaron;ćeni primeri iz prakse: <p><strong>Primer 1.<br />Na&scaron; sajt...
i tako dalje.

Kao sto vidite, slovo Š(cirilicno) mi nije zamenjeno u Š i html tagovi su jednostavno ispisani kao tekst.
Sad, nekako sam ja to uradio bey smartija, ali ne ynam kako da to uradim u okviru funkcije napisane gore, na pocetku.

Da li neko zna?
[ vladimirn @ 13.09.2007. 15:14 ] @
lol evo ja znam :) salim se, resio sam problem na sledeci nacin:
OVo snimio u plugin folder pod nazivom modifier.cirilica.php i kasnije pozivao- eg. {$mojLoopp[m].nekaVrednost|cirilica}


function smarty_modifier_cirilica ($s)
{

$s= preg_replace("/(>)([^<]+)(<)/e", "'\\1'.lat2cyr('\\2').'\\3'", $s);
return $s;
}
function lat2cyr($s){
$cir2 = array('lj', 'nj', 'dž', 'Lj', 'Nj', 'Dž');
$lat2 = array('lj', 'nj', 'dž', 'Lj', 'Nj', 'Dž');

$cir = array('lj','nj','e','r','t','z','u','i','o','p','
š','đ','ž','ć','č','l','k','j','h','g','f','d','s',
'a','m','n','b','v','c','dž','ѕ','Lj','Nj','E','R','T'
,'Z','U','I','O','P','Š','Đ','Ž','Ć','Č', 'š','&nbsp;',
'L','K','J','H','G','F','D','S','A','M','N','B','V'
,'C','Dž','Ѕ');

$lat = array('lj','nj','e','r','t','z','u','i','o','p','&scaron;','đ'
,'ž','ć','č','l','k','j','h','g','f','d','s',
'a','m','n','b','v','c','dž','y','Lj','Nj','E','R','T','Z','U',
'I','O','P','&Scaron;','Đ','Ž','Ć','Č', '&scaron;','&nbsp;',
'L','K','J','H','G','F','D','S','A','M','N','B','V','C','Dž','Y
');

$s=str_replace($lat2, $cir2, $s);
$s=str_replace($lat, $cir, $s);
return $s;
}