Kā pareizi skaitīt multibyte simbolus php rindā (string'
autors: guitarman
Labuvakaru visiem notepada php meistariem
Parasti šajā forumā esmu radis atbildes uz visiem sevi interesējošiem (gīkiskiem) jautājumiem, tādēļ pirms uzdodu šo jautājumu kādā maksas ārvalstu forumā, izmēģināšu veiksmi šeit. (Ja nu kādam letiņam ir bijusi darīšana ar šo problēmu).
Tātad, negribu ļaut lai lietotājs kurš reģistrējas manā ūbermega portālā varētu izmantot lietotāja vārdu vai paroli kura ir īsāka par noteiktu skaitu simbolu (teiksim sešu).
Mēģināju izmantot strlen kā arī mb_strlen iebūvētās php funkcijas, taču saskāros ar problēmu, ka šīs funkcijas visus multibyte simbolus uzskata par diviem simboliem. Piemēram "abc" ir 3 simboli, taču "ābč" ir 5 simboli. Kā pie velna lai lieku php saprast ka arī burts ar garumzīmi ir saprotams kā viens simbols nevis kā divi?
Ņemot vērā to, ka latviešiem ir raksturīgi izmantot garumzīmes un mīkstinājuma zīmes (kas ir multibyte simboli), domāju ka mana lameriskā problēma būs vairāk kā saprotama kādam php guru.
Ā, un lūdzu neiesakiet javascript risinājumus, jo man pret tiem ir alerģija.
Komentāri
Saistītās tēmas

Crow : 23 Augusts 2010 0:32:48
TokRa : 23 Augusts 2010 5:50:13
{
$i = 0;
$count = 0;
$len = strlen ($str);
while ($i <len>= $len)
break;
if ($chr & 0x80)
{
$chr <<= 1;
while ($chr & 0x80)
{
$i++;
$chr <<= 1;
}
}
}
return $count;
}
_________________
Jautājumi? Komentāri? Sazinies: +371 22077022
Kvalitatīvs hostings par saprātīgu cenu: Valsts.Lv
Bezmaksas e-pasts visiem: GW.Lv
daGrevis : 23 Augusts 2010 9:32:33
{
exit;
}
Bet tas gluži nav risinājums. xD
Bet jocīgi, ka mb_strlen() nestrādā, kā vajag... =(
_________________
Think of how stupid the average person is, and realize half of them are stupider than that. /George Carlin/
http://twitter.com/#!/daGrevis
http://last.fm/user/daGrevis
http://ask.fm/daGrevis
http://dagrevis.lv/
guitarman : 23 Augusts 2010 13:42:30