Jump to content
php.lv forumi

Recommended Posts

Posted

gribas uztaisīt tā, lai, ja gadījumā tekstā ir, piemēram, 'haha. haha', tad tas tiek pārveidots par 'haha. Haha'.

 

vārdu sakot pēc puknta un atstarpes burtu jāpārveido par lielo.

 

mēģināju kaut kā burties cauri regexpiem, to burtu pēc punkta apzīmēju ar

/. [a-z]/

bet tas laikam nepavisam nav pareizi.

 

kā to varētu realizēt ? visjaukāk būtu ar js, bet var arī ar php.

Posted (edited)

bet ja gribās utf8 textam? čērez žē, bet aptuveni strādā. (strstr() taisa jokus ar kirlicu)

 

function char_to_upper($char)
{	
return strtr($char,
'йцукенгшщзхъфывапролджэячсмитьбюqwertyuiopasdfghjklzxcvbnmēūīāšģķļžčņ',
'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮQWERTYUIOPASDFGHJKLZXCVBNMĒŪĪĀŠĢĶĻŽČŅ'							
);
}

$s = 'ļutausis. vēlviens!   pavisam pedejais? врь! нш. роь? н';
$exp = '/([\.|\!|\?]\s+|^)([qwertyuiopasdfghjklzxcvbnmēūīāšģķļžčņйцукенгшщзхъфывапролджэячсмитьбю])/u';
while(preg_match($exp,$s,$m))
{
$s = preg_replace($exp, '$1'.char_to_upper($m[2]),$s,1);
}
echo  $s;

Edited by v3rb0
Posted

"Nedaudz" īsāk sanāca:

 

$s = preg_replace('/(\.\s+[^\s].)/e', 'mb_convert_case("\1", MB_CASE_TITLE, "UTF-8")', $s);

 

P.S. Nepieciešams mbstring.

×
×
  • Create New...