Php 用新行替换空格

Php 用新行替换空格,php,Php,我有一根用空格隔开的绳子。我想在新行中显示由空格分隔的字符串的每个部分。我该怎么做呢 base1|123|wen dsj|test base2|sa|7243|sdg custom3|dskkjds|823|kd 如果在初始管道之后没有更多的|,那么空间应该断开线,并且应该是这样的 base1|123|wen dsj|test base2|sa|7243|sdg custom3|dskkjds|823|kd 或 这是相当混乱的,但要清理最后一个空结果: $string =

我有一根用空格隔开的绳子。我想在新行中显示由空格分隔的字符串的每个部分。我该怎么做呢

base1|123|wen dsj|test base2|sa|7243|sdg  custom3|dskkjds|823|kd    
如果在初始管道之后没有更多的|,那么空间应该断开线,并且应该是这样的

base1|123|wen dsj|test 
base2|sa|7243|sdg  
custom3|dskkjds|823|kd  


这是相当混乱的,但要清理最后一个空结果:

$string = 'base1|123|wen dsj|test base2|sa|7243|sdg custom3|dskkjds|823|kd';
preg_match_all('/(?P<line>(?:[^\\| ]*\\|{0,1})*(?: [^\\| ]*\\|[^\\| ]*(?: |\\z){0,1})*)(?: |\\z)/',$string,$matches,PREG_SET_ORDER);
print_r($matches);
string='base1 | 123 | wen dsj | test base2 | sa | 7243 | sdg custom3 | dskkjds | 823 | kd |;
预匹配所有('/(?:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
打印(匹配项);

编辑:事实上这很可怕

有没有任何原因dsj | test不在自己的线路上?
echo str_replace(' ',PHP_EOL,$string);
$string = 'base1|123|wen dsj|test base2|sa|7243|sdg custom3|dskkjds|823|kd';
preg_match_all('/(?P<line>(?:[^\\| ]*\\|{0,1})*(?: [^\\| ]*\\|[^\\| ]*(?: |\\z){0,1})*)(?: |\\z)/',$string,$matches,PREG_SET_ORDER);
print_r($matches);