public static function head_and_tail($value, $limit = 100, $mid = '...')
{
$value_len = strlen($value);
$mid_len = strlen($mid);
$chunk_len = ($limit - $mid_len) / 2;
$tail_start = $value_len - $chunk_len;
if ($limit >= $value_len) {
return $value;
} else {
$head = substr($value, 0, $chunk_len);
$tail = substr($value, $tail_start);
return $head . $mid . $tail;
}
}