[ duchess @ 10.04.2009. 13:55 ] @
Pokusala sam napraviti malu metodicu koja bi konvertovala string iz cirilice u latinicu.

ovako izgleda za sad:

Code:


$naslov="Ćirilični string ABCFGHTJKLMDFORENjSLjNjCDžŠĐŽ";

$abeceda = "A,B,C,Č,Ć,D,Đ,E,F,G,H,I,J,K,L,M,N,O,P,R,S,T,U,V,Z,Ž,Š,Dž,a,b,c,č,ć,d,đ,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t,u,v,z,ž,š,dž";
$cirilica="A,B,C,Č,Ć,D,Đ,E,F,G,H,I,J,K,L,M,N,O,P,R,S,T,U,V,Z,Ž,Š,Dž,a,b,c,č,ć,d,đ,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t,u,v,z,ž,š,dž";// ovo je sve cirilica
      
$slova = explode (",", $abeceda );
$cir=explode (",", $cirilica );
$s=0;
while(count($slova)>$s)
{
    $pos=strpos($naslov, $cir[$s]);
    if($pos !== FALSE)
    {
        $naslovN=str_replace($cir[$s],$slova[$s],$naslov);
    }
        
    $s++;
}

echo $naslovN."<br />";


ovako izbaci mi string ali samo delimicno preveden! Neko slovo prevede neko ne!
Npr.:
ABORIdžInski MITOVi, SREMsKA Kamenica, FUzIJE i AKVIzICIJE, GlasINE NEsavršENa PRošlost...

Gde sam pogresila???

EDIT: Na forumu se odmah slova prevedu u latinicu, ali naglasila sam cirilicna slova velikim slovom.
[ Nikola Poša @ 10.04.2009. 14:12 ] @
A što nisi odma' napravila nizove slova, da ne moraš posle da radiš explode...

btw Funkciji str_replace() mogu da se proslede i nizovi kao prva dva argumenta, tako da ti onda uopšte ne treba while petlja, i cela suština bi bila u ovome:
Code:

$naslov = str_replace($niz_cir, $niz_lat, $naslov);
[ Milan Gligorijevic @ 10.04.2009. 14:15 ] @
A zašto nemaš slova lj i nj ?
[ duchess @ 10.04.2009. 14:38 ] @
@Nikola
Zahvaljujem na odgovoru! Zasto komplikovati kad moze jednostavno :)
sad sarvseno radi. evo citave skripte ako nekom bude trebala:
Code:

$string="Cirilicni string sdsfasdfadfgadfgdfgsdfhdfghgj";

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


@Milan
Super sto si primetio, ubacila sam. Tnx!
[ Milan Gligorijevic @ 10.04.2009. 14:43 ] @
Bolje okači php fajl uz poruku. Ovako ko hoće da iskoristi ne može jer forum automatski konvertuje sve u latinicu
[ Jbyn4e @ 10.04.2009. 15:04 ] @
Mala zamerka prema nazivima. Ako vec koristis abeceda, koristi i azbuka, ili ako vec koristis cirilica - koristi i latinica kao izraze, promenljive i slicno.

Inace je zakacena uz poruku fukncija koju koristim odavno, a mislim da ima jos na netu (bese pedja supurovic cini mi se nesto imao isto za preslovljavanje)...


[ beep @ 10.04.2009. 17:15 ] @
http://xaconverter.blogspot.com/ ... pogledaj klasu
[ Man-Wolf @ 11.04.2009. 16:55 ] @
Evo ti jedne klasice koju sam skoro radio za potrebe pretrage... Naime, poenta je da sve cirilicne karaktere pretvara u latinicu, s' tim sto karaktere: ć, č, ž,.. pretvara u c,c,z,.... Opet - za potrebe pretrage ..

http://www.phpclasses.org/browse/package/5271.html