Как на php узнать количетво строк в блоке с заданной шириной, то есть определить число переносов
или просто количество строк на которые будет разбит текст
function GetCountLines($text, $NumSymInLine )
{
$CountLines = 0;
$len = mb_strlen($text, 'UTF-8');
if ($len > 0) $CountLines = 1;
$entry = (str_word_count($text, 2, "АаБбВвГгДдЕеЁеЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя"));
$leng = 0;
foreach ($entry as $k => $v)
{
$leng = $leng + mb_strlen($v);
if ($leng > $NumSymInLine)
{
$CountLines++;
$leng = $k;
}
}
return $CountLines;
}
функции GetCountLines и str_word_count корректно работают с UTF8
NumSymInLine- максимальнре количество символов в строке, функция не учитывает разные ширины букв
если нужно обрезать, оставив определеное количество строк в тексте, то это написано тут
http://my-city.com.ua/forum/topic.php?f=kak-na-php-obrezat-tekst-ostavljaja-nuzhnoe-kolichestvo-strok(ostaviv-opredelennoe-chislo-perenosov)&forum=38&topic=71
Комментарии
Оставить комментарий
Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)
Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)