|
[ 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 ] @
[ 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
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|