2012-01-10 9 views
-3

これで、1000行以上のテキストブロックがあり、200行ごとにブロックをカットしてdivにラップするとします。phpでテキストのブロックを切り取り、それをラップする

私は解決策を見つけることができました。皆さんは、あなたが好きなときに始めるためのスニペットを私に与えることができます。

ありがとうございました。

+2

私たちは行や言葉を話していますか?行は固定長ではありません... – nico

+0

@nico words sir – Uffo

答えて

1

あなたの行は\nで分離されていると仮定すると:

// Split text into separate lines 
$lines = explode("\n",$text); 

// This will hold the resulting string 
$output = ''; 

// Loop the array 200 lines at a time 
for ($pos = 0, $linesLeft = count($lines); $linesLeft > 200; $pos += 200, $linesLeft -= 200) { 
    $output .= '<div>'.implode("\n",array_slice($lines,$pos,200))."</div>\n"; 
} 

// Add the last block, if any 
if ($linesLeft > 0) { 
    $output .= '<div>'.implode("\n",array_slice($lines,$pos))."</div>"; 
} 

EDITをあなたは言葉ではなくラインを扱っている場合は、単にスペースで\nを交換してください。または、次のようにします。

$lines = preg_split('/\s+/',$text); 
+0

OMGはあなたの時間のために多くのことをありがとう、正しい解決策は '$ lines = preg_split( '/ \ s + /'、$ text);'ありがとうございます – Uffo

関連する問題