Разбивка текста на блоки

Статус
В этой теме нельзя размещать новые ответы.

baboon

Создатель
Регистрация
3 Июл 2008
Сообщения
38
Реакции
6
Здравствуйте!
Возникла необходимость поразбивать тексты на блоки по 1000 символов. Написал такой скрипт:

Код:
$q = "$mytext"; //mytext - текст на 2800 символов

$aaa = strlen("$q");
$yowh = ceil($aaa / 1000);

for($itr=0;$itr<$yowh;$itr++)
{
$startch = 1000 * $itr;
$stopch = $startch + 1000;
$string = substr("$q", $startch, $stopch);
$message_body = $string;
}

Проблема в том, что в первом проходе он берет правильно с 0 по 1000 символ, а во втором с 1000 по 2800, вместо того, чтоб взять с 1000 по 2000. В третьем же он берет корректно с 2000 по 2800. В итоге получается, что последние 800 символов дублируются.

Подскажите, пожалуйста, в чем может быть проблема? Т.е, почему на втором круге, вместо заданной 1000 берется 1800 символов?
 
Почитай про функцию substr()

Второй параметр - это длина вырезаемой строки. Цикл должен выглядеть так:

Код:
for($itr=0;$itr<$yowh;$itr++)
{
$startch = 1000 * $itr;
$string = substr("$q", $startch, 1000);
$message_body = $string;
}
 
можно воспользоваться функцией str_split

она преобразовывает строку в массив строк с заданным размером

Для просмотра ссылки Войди или Зарегистрируйся

$arr2 = str_split($str, 1000);
 
попробуй функцию wordwrap, поможет
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху