2012-03-10 18 views
6

Estoy buscando la solución más rápida , a una cadena en partes, sin .str_split sin word-wrap

$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"); 

Respuesta

21

En realidad se puede utilizar wordwrap(), se introducirán en explode(), utilizando el carácter de nueva línea \n como delimitador. explode() dividirá la cadena en las líneas producidas por 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 muy astuto. –

+3

Nota: el uso de falso (predeterminado) como el 4 ° parámetro impide que las palabras se rompan al envolver. Exactamente lo que necesitaba. Si no te importa romper palabras, ponlo en verdadero. – rncrtr

Cuestiones relacionadas