function stringCut($str){
$length = 140;
while($length < strBytes($str)){
$str = mb_substr($str,0,mb_strlen($str, 'UTF-8')-1, 'utf-8');
}
return $str;
}
function strBytes($str){
$strlen_var = strlen($str);
$d = 0;
for ($c = 0; $c < $strlen_var; ++$c) {
$ord_var_c = ord($str{$d});
switch (true) {
case (($ord_var_c >= 0x20) && ($ord_var_c <= 0x7F)):
$d++;
break;
case (($ord_var_c & 0xE0) == 0xC0):
$d+=2;
break;
case (($ord_var_c & 0xF0) == 0xE0):
$d+=3;
break;
case (($ord_var_c & 0xF8) == 0xF0):
$d+=4;
break;
case (($ord_var_c & 0xFC) == 0xF8):
$d+=5;
break;
case (($ord_var_c & 0xFE) == 0xFC):
$d+=6;
break;
default:
$d++;
}
}
return $d;
}