2. Ограничиваем кол-во параграфов ($max), учитывая № страницы($page), загоняем результат в $text2
$nom=$page*$max;
for ($i=($page-1)*$max; $i<$nom; $i++){
$text2 =$text2." ".$par["$i"];}
3. Проверяем на кол-во символов
$slova = explode (" ", $text2);
$ctr=count($slova);
if ($ctr<$maxkol)
4. И увеличиваем $max на 1, если кол-во символов меньше заданного
{$max++;}
5. Как теперь прогнать всё это с новым значением $max с сохранением нового значения, для последующего использования при обращении к «другой странице»?
Я пытался использовать «while», но, скорее всего, у меня маловато опыта (на последней странице происходит зацикливание(при большом $maxkol) + новое значение $max игнорируется при обработке другой страницей):
$maxkol=200;
$ctr=0;
$par = explode ("((((", $text);
$max=0;
while ($ctr<$maxkol2) { $max++; $text2=\'\';
$nom=$page*$max;
for ($i=($page-1)*$max; $i<$nom; $i++){
$text2 =$text2." ".$par["$i"];}
$slova = explode (" ", $text2);
$ctr=count($slova);
}
echo "$text2";
.................
Читал кое-что про «do» , но возникли проблемы с синтаксисом.
В результате должен получиться текст немного больше заданного, но с сохранением форматирования по абзацам + новая страница должна начинаться с того места, где закончилась предидущая.
Помогите, пожалуйста, т.к. идея есть, а осуществить её не получается.
Возможно, кто-то предложит свой вариант решения «Цели» — буду очень благодарен.
НА СКОЛЬКИ форумах ты нафлудил свой вопрос?
\', $offset)+3 : 0;
$end = (strpos($article, \'
\', $offset+$pagesize)) ? strpos($article, \'
\', $offset+$pagesize) : strlen($article);
if (strlen($article) - $end < $pagesize/2) $end = strlen($article);
$data = substr($article, $start, $end-$start);
if ($page) $pages .= "предыдущая страница ";
if ($page or $end < strlen($article)) $pages .= "вывести все ".(round(strlen($article)/1024))." Kb ";
if ($end < strlen($article)) $pages .= "следующая страница ";
$data .= "