2011-08-12 134 views
0

我有兩種類型的輸入字符串的:陣列從字符串

  1. 串中的線: 例如:

    $海峽= Hello12345Hello12345Hello12345

2.string與新線("\n\r") 示例:

$str = ' 
    Hello 
    12345 
    Hello 
    12345 
    Hello 
    12345' 

,我現在使用的方法是:

選項1:

if $str one line: 
     join("\n\r",str_split($str,5)) 
    else: 
     explode("\n\r",$str) 

,並嘗試

選項2:

preg_match_all('/[^\r\n]{0,5}([\r\n]*)/',$str , $matches); 

$arr = $matches[0]; 

一個我應該使用哪一個?

+4

你能描述一下預期結果好一點嗎? –

+0

是的,我已經更新我的問題 – sophie

回答

2

是這樣的嗎?

$str = 'Hello12345Hello12345Hello12345'; 
$arr = str_split($string, 5); 
$str = PHP_EOL . implode(PHP_EOL, $arr); 
1
$str1 = 'Hello12345Hello12345Hello12345'; 
$array1 = str_split($str1, 5); 

$str2 = ' 
    Hello 
    12345 
    Hello 
    12345 
    Hello 
    12345'; 
$array2 = array_filter(array_map(function($v) { 
    return trim($v); 
}, explode("\n", $str2)));