Jump to content
php.lv forumi

Recommended Posts

Posted

kodeejums UTF-8

nestraadaa basic string functions

Ko dariit, ja nevar piesleegt Multi byte funkcions

Vajag pirmo burtu no stringa, piem, četri simti....

Vajag Č,

Posted

$string = 'čābīgi'; // ko vien vajag

$char = substr($string, 0, 2); // atgriež 'č'

echo $char;

 

Katram simbolam ir atvēlēti 2 baiti, tātad substr length jāņem 2x garāks nekā vajadzīgās daļas redzamo simbolu skaits.

Posted
Katram simbolam ir atvēlēti 2 baiti...
Muļķības! UTF-8 viens simbols var aizņemt sākot no 1 līdz pat 4 baitiem. Tāpēc to jau sauc par multibyte kodējumu.
Posted
Ļoti atvainojos, nezināju.

 

Vismaz līdz šim neatceros, ka būtu gadījies vairāk par 2.

15572[/snapback]

 

lietojam mb_* funkcijas (attiecīgi extension vajag pielikt..)

Posted
lietojam mb_*  funkcijas (attiecīgi extension vajag pielikt..)
Un ja nevar pielikt?
Ko dariit, ja nevar piesleegt Multi byte funkcions
Posted
Tad pāriet uz citu hostētāju.

15732[/snapback]

 

 

bija kaut kur funkcija ( EN,LV,RU -> UTF ) konvertācijai,

bet tādas lai UTF upercase taisiitu nezinu... paskaties mb_* extension sourci... :)

Posted

Nu vispirms jau probleema ar strtoupper ( string string), to vareetu aizstaat ar:

function uppercase_lv($cString){

$arrTrans_LV = array('ā' => 'Ā', 'č' => 'Č'); // utt.

 

return strtr(strtoupper (trim($cString)), $arrTrans_LV);

}

 

nu kaut ka taa

 

bet pirmo burtu, lieta taada, ka tas vajadziigs, lai summu ar cipariem paarveerstu par summu ar vaardiem, piem., 40298.98 -> četrdesmit tuukstoshi divisimti devinjdesmit astonji lati 98 santiimi.

Lai pirmo burtu dabuutu(strings dinamisks ...) nu nekaadiigi ar pamatfunkcijaam string

nevar.

Doma, bet es neesmu specs regexpr, -> ereg_replace() vai perl sintakses funkcija preg_replace();

Pagaidaam esmu atstaajis kaa ir, tapeec, ka digits tikai viens saakas ar lv alfabeeta burtu :) .

Posted
pie tam pie cipara vēršoties kā pie char masīva. T.i. ja $str='80.23' tad $str[0] ir 8, $str[1]=0 utt.

visāda gadījumā var apskatīties http://paste.php.lv/1794

15764[/snapback]

 

Paldies Venom! Nu tieshi taa, paskatoties paste scriptu, taa doma tieshi taada pati, tikai mans algoritms ir 2x lielaaks :) . No saakuma es no cipariem uztaisu ciparus ar vaardiem un tad gribu ieguuto string pirmo burtu paartaisiit par uppercase. Tev arii masiivaa glabaajas ar mazajiem burtiem. Bet paldies, ka noraadiiji par char[n], es tikai apm. 6 meen. ar PHP, nekur tas manuaalii nav rakstiits, ka PHP string var apstraadaat liidziigi kaa C (varbuut shvaki lasu!).

Tagad principaa es varu iznjeemuma gadiijumu pielikt, ka

if($digits[0] == '4')

$digits[0] = 'Ch';

 

, kas arii nav diezgan racionaali'.

 

p.s.Atvainojos, ka pacelju vecus topics

×
×
  • Create New...