2012-03-10 8 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

あなたが実際に区切り文字として改行文字\nを使用して、explode()に供給wordwrap()を、使用することができます。 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

注:4番目のパラメータとしてfalse(デフォルト)を使用すると、折り返し時に単語が壊れるのを防ぐことができます。正確に私が必要としたもの。単語を壊すことに気にしない場合は、これをtrueに設定します。 – rncrtr

関連する問題