空行爆炸

4

我正在尝试拆分空行。

这是我的字符串变量:

$string = '
Hello,

Just test lines
Second test lines
';

我想要这些结果:
$OUTPUT[0]='HELLO,';
$OUTPUT[1]='Just test lines
Second test lines';

我的代码:

$a = explode("\n\n",$string);
print_r($a);

我的领域结果:
Array ( [0] => Hello, Just test lines Second test lines ) 

你尝试过只用一个\n吗? - David Laberge
1
尝试使用 "\r\n\r\n" 看看是否有效。 - cdhowie
1
可能应该使用\r\n\r\n而不是\n\n - Joe
@David Laberge 当然了,我做了。我得到了数组([0] => [1] => 你好,[2] => [3] => 只是测试行 [4] => 第二个测试行 [5] => )。 - Emad doom
cdhowie,lAbstractDownvoteFactory - 谢谢大家,它运行良好。 - Emad doom
2个回答

12

这应该就能解决问题:

$string = '
Hello,

Just test lines
Second test lines
';

$data  = preg_split("#\n\s*\n#Uis", $string);
print_r($data);

非常感谢,这可以在从Linux服务器获取信息时使用,:) 再次感谢。 - ParisNakitaKejser
如果使用PHPStorm,则可以通过代码解析错误验证:'/\n\s*\n/Uis' - TheFrost

0

在你的字符串周围加上一个修剪,然后用逗号分隔它,最后将逗号添加回第一个元素。

$arraything = explode(',', trim($string));
$arraything[0] = $arraything[0].",";

当空格可能具有重要意义时,Trim 不是理想的选择。 - Dereckson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接