- explode: documentation ( source)
<?php
$longString = 'I like apple. You like oranges. We like fruit. I like meat, also.';
$arrayWords = explode(' ', $longString);
$maxLineLength = 18;
$currentLength = 0;
$index = 0;
foreach ($arrayWords as $word) {
// +1 because the word will receive back the space in the end that it loses in explode()
$wordLength = strlen($word) + 1;
if (($currentLength + $wordLength) <= $maxLineLength) {
$arrayOutput[$index] .= $word . ' ';
$currentLength += $wordLength;
} else {
$index += 1;
$currentLength = $wordLength;
$arrayOutput[$index] = $word;
}
}