在 2 个换行符处分解一个字符串,而不是仅 1 个
Exploding a string at 2 newlines as oppose to just 1
我正在尝试分解包含 1 个以上换行符的字符串。更具体地说,2 个换行符,我不知道该怎么做。例如:
$text = "
text1
text2
text3
";
$text = explode(PHP_EOL, $text);
此后数组中会有一些空索引。我需要在 2 个换行符而不是一个处爆炸。我该怎么做?
如果您确定换行符是如何形成的(它们可能包含 \n and/or \r),您可以这样做:
$Array = explode("\n\n", $text);
您还可以 trim 字符串,以删除开头和结尾的换行符:
$Array = explode("\n\n", trim($text));
这应该适合你:
只需将 preg_split()
与标志一起使用:PREG_SPLIT_NO_EMPTY
使用常量 PHP_EOL
设置和展开字符串,例如
$arr = preg_split("/". PHP_EOL . "/", $text, -1, PREG_SPLIT_NO_EMPTY);
print_r($arr);
输出:
Array ( [0] => text1 [1] => text2 [2] => text3 )
我正在尝试分解包含 1 个以上换行符的字符串。更具体地说,2 个换行符,我不知道该怎么做。例如:
$text = "
text1
text2
text3
";
$text = explode(PHP_EOL, $text);
此后数组中会有一些空索引。我需要在 2 个换行符而不是一个处爆炸。我该怎么做?
如果您确定换行符是如何形成的(它们可能包含 \n and/or \r),您可以这样做:
$Array = explode("\n\n", $text);
您还可以 trim 字符串,以删除开头和结尾的换行符:
$Array = explode("\n\n", trim($text));
这应该适合你:
只需将 preg_split()
与标志一起使用:PREG_SPLIT_NO_EMPTY
使用常量 PHP_EOL
设置和展开字符串,例如
$arr = preg_split("/". PHP_EOL . "/", $text, -1, PREG_SPLIT_NO_EMPTY);
print_r($arr);
输出:
Array ( [0] => text1 [1] => text2 [2] => text3 )