Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

replace space with new line

Tags:

php

I have a string thats separated by a space. I want to show every part of the string on new line that is separated by space. how can I do that.

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

if there is no more | after an initial pipe then the space should break the line and it should look like this

base1|123|wen dsj|test 
base2|sa|7243|sdg  
custom3|dskkjds|823|kd  
like image 271
Asim Zaidi Avatar asked Nov 29 '22 05:11

Asim Zaidi


1 Answers

This is pretty messy, yet to clean up the last empty result:

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

Edit: Actually this is pretty horrible

like image 177
Scuzzy Avatar answered Dec 09 '22 16:12

Scuzzy