String in šumniki

Pozdravljeni,

prosil bi vas, če mi lahko kdo pomaga pri tem primeru. Težava je v tem, da se mi šumniki ne zamenjajo.

$tekst = getauthorposts_url($errors[0]);

$poisci = array("č","š","ž","Č","Š","Ž","Ć","ć");
$zamenjaj = array("c","s","z","Č","S","Z","C","c");
$izpis = str_replace($poisci, $zamenjaj, $tekst);
echo $izpis ;

Hvala in lep pozdrav

12 odgovorov

Hm, načeloma bi se morali, smo vidim, da imaš pri $zamenjaj notri en "Č"... morda te je to zmotilo? Pa jaz bi preveril če "encoding"....

Živjo.

Šumniki se uspešno zamenjajo.
Preveriš tako da v $tekst vstaviš npr "ščžŠČŽ".

@faca5... "Č"-ji se ne zamenjajo, ker ima napako v kodi.

Hvala obema za odgovor. Sedaj sem popravil Č vendar mi še vedno prikaže šumnike. Koda mi deluje, če vstami posebaj v $teks naprimer ČŽŠ, ne deluje pa če dam naslednjo zahtevo: getauthorposts_url($errors[0]). To potrebujem za wordpress.

Pa jaz bi preveril če "encoding"....

Si preveril?

1

ko delate s stringi, ki imajo sumnike oz. multibyte... dajte uporabljat mutibyte ekvivalente:

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

5ka hvala :D sedaj mi deluje. Te možnosti pa res nisem preveril...

Imam še eno težava, kako bi lahko zapisal Đ , đ tako da bi pomenilo enako v URL naslovu.

Naprimer:
Namesto
author/žščcđc/

Tako: ( đ bi se moral zamenjat )
author/zcscđc/

Se opravičujem za ponovni post, vendar sem želel samo sporočiti, da sem zadevo rešil na enostaven način. Naredil sem tako, da sem vse črke s šumniki zamenjal še preden se zapiše v bazo in sedaj deluje. Hvala vsem za pomoč in lep pozdrav.

uporabiš lahko tudi...

function onlyASCII($s) {
$s = strreplace(array('đ','Đ','č','ć','ž','Š','š','Č','Ć','Ž'),array('dj','DJ','c','c','z','S','s','C','C','Z'),$s);
return preg
replace('/[^(\x20-\x7F)]*/','', $s);
}

13