Разбить большую строку (страницу статьи) на массив (страницы) с помощью PHP - PullRequest
0 голосов
/ 26 июня 2011

У меня очень большая строка, у которой есть пара "\ n" разрыва строки для каждого абзаца.

У меня есть 3-4 страницы (3-4 поля), в которые я хочу вставить статью, ноесли он не помещается на 1-й странице (1-е поле), я хочу продолжить строковые данные на 2-й странице (2-е поле).

1-я страница (1-е поле) содержит 14 строк 2-я страница - 4-я страница(1-е поле - 4-е поле) имеет 48 строк на каждой странице / поле.

Я пробовал str_split, но он не работает для меня: (

Вот пример:

$string = "FIRST PARAGRAPH" .  "\N\N" "2ND PARAGRAPH" . "\N\N" . "AND SOOOO ON... ";

// i want to split this string into 4 sections of fields.
$field1 = (has a max of 14 lines, don't know how many characters tho);

$field2 = (has a max of 48 lines, don't know how many characters too!);

$field3 = (has a max of 48 lines, don't know how many characters too!);

$field4 = (has a max of 48 lines, don't know how many characters too!);

это будет заполнено в 4 разделах / полях ADOBE PDF с использованием FPDF.

Ответы [ 2 ]

0 голосов
/ 26 июня 2011

Я не уверен на 100%, чтобы понять ваши требования, но скрипт должен работать как следующий, за исключением того, что результат находится в массиве, а не в отдельных переменных.

// uncomment the following line to get rid of paragraph breaks;
// $string = strtr($string, array("\n\n","\n")); 
$lines = explode("\n", $string);
$pagelen = array(14,48,48,48);

$result = array();
foreach($pagelen as $cPageLen)
    array_push($result, join("\n",array_splice($lines, 0, $cPageLen)));
0 голосов
/ 26 июня 2011

Вам нужно найти что-то, на что можно разбить строку.Если каждая строка уменьшена на \ n \ n, тогда вы можете сделать

$lines = explode("\n\n", $string);

Тогда первая строка будет $ lines [0], вторая строка будет $ lines [1] и так далее.Затем вы можете использовать array_slice (), чтобы разбить строки на переменные поля.

...