Filter diajkritickih slova

Pozdrav! Pročitao sam bezbroj tema na ovom forumu i ništa mi nije pomoglo.
Radim svoj CMS i treba mi filter za pretvaranje slova č, ć, š, đ, ž u c,s,dj i z. Probao sam raditi sa dva array-a i koristiti str_replace, ali nisam uspio… može pomoć??

I volio bih u tom filteru i imati filter koji pretvara sve one karaktere npr. ("#$%&/?*) u “-”, ako je to moguće.

Pozz

Koji enkoding koristis? Ako je UTF-8, mislim da ces morati koristiti mb_* funkcije.

http://www.php.net/manual/en/ref.mbstring.php

Evo šta sam ja pokušao, ali, nažalost ne radi :frowning: Nadam se da autor ovog koda ne zamjera što sam mu uzeo.

$filter1 = strtolower($_POST[“kr”]);
$filter2 = str_replace(" “, “-”, $filter1);
$a = array(“č”, “ć”, “đ”, “š”, “ž”);
$b = array(“c”, “c”, “dj”, “s”, “z”);
$filter3 = str_replace($a, $b, $filter2);
$filter4 = preg_replace(’/[”!?$%(),:;<>&*~|#]/’, ‘-’, $filter3);

kako to ne radi? Moze neko samo popravit taj kod da proradi? :smiley:

EDIT: radi mi filter1, filter2 i filter4… jedino mi ne radi filter za pretvaranje č,ć,š,đ,ž u c,s,dj,z

[quote=“v4n P3rs13”]Evo šta sam ja pokušao, ali, nažalost ne radi :frowning: Nadam se da autor ovog koda ne zamjera što sam mu uzeo.

$filter1 = strtolower($_POST[“kr”]);
$filter2 = str_replace(" “, “-”, $filter1);
$a = array(“č”, “ć”, “đ”, “š”, “ž”);
$b = array(“c”, “c”, “dj”, “s”, “z”);
$filter3 = str_replace($a, $b, $filter2);
$filter4 = preg_replace(’/[”!?$%(),:;<>&*~|#]/’, ‘-’, $filter3);

kako to ne radi? Moze neko samo popravit taj kod da proradi? :smiley:

EDIT: radi mi filter1, filter2 i filter4… jedino mi ne radi filter za pretvaranje č,ć,š,đ,ž u c,s,dj,z[/quote]

Čuj, ovaj kod bi ti trebao raditi… Provjeri o kojem se encodingu radi u _POST varijabli ‘kr’, i dali ti se taj encoding poklapa sa tim koji si ti koristio u samoj datoteci. Obično ti _POST bude UTF-8, pa ti onda ovo nebi radilo ako ti kucaš kod u datoteci sa npr. WINDOWS-1250 encodingom. Probaj dadati ovaj kod i ako ti radi onda ti je _POST u UTF-8:

$filter1 = iconv("UTF-8", "WINDOWS-1250", strtolower($_POST["kr"]));
...

ovu funkciju sam našel na php.com ak se dobro sjećam

toj finkciji predaš svoj tekst i ona vrati isto taj tekst bez kvačica i sličnih slova

za #$%&/? u - jednostavno napišeš ovak nekaj

Hvala! Radi savrseno! Moracu ti se oduzit za ovo, jer ovaj filter probavam vec 6 dana… i sve svoje vrijeme sam trosio na to, uzalud… jos jednom hvala!


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja