Autor Zpráva
zioo
Profil *
Prečo mi to nefunguje?
function p($text) {
return StrTr($text, "áčďěéëíľĺňóöřšťůúüýž","acdeeeillnoorstuuuyz");
}

$text = "á";
echo p($text);

vypisuje mi to rc namiesto a.
Ak dám
$text = "č";
echo p($text);

vypíše mi to ue a nie c. A takto je to asi so všetkými písmenami. Prečo?
Radek9
Profil
zioo:
Pokud používáš UTF-8, tak se to musí dělat takhle: http://cs.wikibooks.org/wiki/PHP_prakticky/Odstranění_diakritiky … Pokud ne, tak to nebude v tomhle.
zioo
Profil *
áno, to bude tým utf-8, vďaka
Velda
Profil
zioo:
<?php function p($text) {
return StrTr($text, utf8_decode("áčďěéëíľĺňóöřšťůúüýž"),"acdeeeillnoorstuuuyz");
}
$text = utf8_decode("á");
echo p($text);?>
Majkl578
Profil
Velda:
Nechybí ti tam náhodou utf8_encode()?
andyp
Profil *
Radek9:
vďaka, pomohlo :)
Alphard
Profil
andyp:
Jestli jste použil ten druhý, tak to není optimální řešení. Blacklist je vždy nespolehlivý, zde je popsaný princip whitelistu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0