2012-03-10 1 views
6

Я ищу самое быстрое решение, до строка на детали, без .str_split без слова обертывания

$strText = "The quick brown fox jumps over the lazy dog"; 

$arrSplit = str_split($strText, 12); 

// result: array("The quick br","own fox jump","s over the l","azy dog"); 
// better: array("The quick","brown fox","jumps over the","lazy dog"); 

ответ

21

Вы на самом деле можно использовать wordwrap(), подается в explode(), используя символ новой строки \n в качестве разделителя. explode() разделит строку на строки новой строки, созданные wordwrap().

$strText = "The quick brown fox jumps over the lazy dog"; 

// Wrap lines limited to 12 characters and break 
// them into an array 
$lines = explode("\n", wordwrap($strText, 12, "\n")); 

var_dump($lines); 
array(4) { 
    [0]=> 
    string(9) "The quick" 
    [1]=> 
    string(9) "brown fox" 
    [2]=> 
    string(10) "jumps over" 
    [3]=> 
    string(12) "the lazy dog" 
} 
+0

+1 очень коварный. –

+3

Примечание: использование false (по умолчанию) в качестве 4-го параметра предотвращает разрыв слов при обертке. Именно то, что мне нужно. Если вы не заботитесь о сломать слова, установите для этого значение true. – rncrtr