заменить пространство новой строкой

У меня есть строка, разделенная пробелом. Я хочу показать каждую часть строки на новой строке, разделенной пробелом. Как мне это сделать.

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); 

Изменить: На самом деле это довольно ужасно

 echo str_replace(' ',"\n",$string); 

или

 echo str_replace(' ',PHP_EOL,$string);