使用PHP将大字符串(文章页面)拆分为数组(页面)

时间:2011-06-26 06:07:56

标签: php string split line

我有一个非常大的字符串,每个段落有一对“\ n”换行符。

我有3-4页(3-4个字段)我要插入文章,但如果它不适合第1页(第1个字段),我想将字符串数据继续到第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!);

这将使用FPDF填写到ADOBE PDF的4个部分/字段中。

2 个答案:

答案 0 :(得分:0)

您需要找到可以拆分字符串的内容。如果每行都被\ n \ n消除,那么你可以做

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

然后第一行是$ lines [0],第二行是$ lines [1],依此类推。然后,您可以使用array_slice()将字符串拆分为字段变量。

答案 1 :(得分:0)

我不是百分百肯定理解你的要求,但是下面的脚本应该可以工作,除了结果是数组而不是单独的变量。

// 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)));