Tvinky Posted January 7, 2006 Report Share Posted January 7, 2006 Sveicināti! Vāru sakot izveidoju skriptu priekš tā, lai varētu sadalīt tekstu un izvadīt linku "lasīt tālāk". Skripts tikai veidots priekš lv/ru/en valodām. Kļūdas sāka rādīties pie ru... Un tā lūk mans kods: <?php $teksts = "Какбы всё ок! Какбы всё ок! Какбы всё ок! (Tā turpinās līdz pārsniedz 400 simbolus)"; if (strlen(@$teksts) >= 400) { $teksts = stripslashes($teksts); echo substr($teksts,0,400); echo " "; echo "<a href=#>Далще...</a>"; } ?> Un izvadot, es iegūstu: Какбы всё ок! Какбы всё ок! Какбы всё ок! Какбы всё ок! Какбы всё ок! Какбы всё ок! Какбы всё ок! Какбы всё ок! Какбы всё ок! Какбы всё ок! Какбы всё ок! Какбы всё ок! Какбы всё ок! Какбы всё ок! Какбы всё ок! Какбы всё ок! Какбы КаР Далще... Kā redzat, pēdējais vārds vispār jocīgs. Vietā, lai tur būtu vārds "всё" viņš izdod kaut kādus ķeburus. P.S Atbildi biju meklējis foruma meklēšanā, bet neatradu. (Tas laikam ir tāpēc, ka tiek sadalīts burts uz pusēm, jo utf laikam aizņem vairākus baitus - vismaz kaut ko tamlīdzīgu dzirdēju). Kādam ir ideja, kā ar šo cīnīties? Paldies, iepriekš. Link to comment Share on other sites More sharing options...
wudu Posted January 7, 2006 Report Share Posted January 7, 2006 function utf8_strlen($str) { return preg_match_all('/[\x00-\x7F\xC0-\xFD]/', $str, $dummy); } function utf8_substr($str,$start) { preg_match_all("/./u", $str, $ar); if(func_num_args() >= 3) { $end = func_get_arg(2); return join("",array_slice($ar[0],$start,$end)); } else { return join("",array_slice($ar[0],$start)); } } Link to comment Share on other sites More sharing options...
bubu Posted January 7, 2006 Report Share Posted January 7, 2006 wudu: wtf par murgiem? mb_strlen un mb_substr ir viss kas vajadzīgs. Link to comment Share on other sites More sharing options...
Tvinky Posted January 7, 2006 Author Report Share Posted January 7, 2006 Liels paldies visiem par ieteikumiem un atsaucību, kļūda izlabota. Link to comment Share on other sites More sharing options...
KAC Posted January 7, 2006 Report Share Posted January 7, 2006 bubu: vai visaam hostinga kopaanijaam ir Multibyte String funkcijas? Link to comment Share on other sites More sharing options...
v3rb0 Posted January 7, 2006 Report Share Posted January 7, 2006 par hostingu maksā lapas īpašnieks nevis hostinga kantoris, līdz ar to ir visas tiesības prasīt lai būtu mb_* f-jas. php/mysql hostinga kantori mums ir pietiekami daudz, varēs atrast kur būs. Link to comment Share on other sites More sharing options...
Recommended Posts