开发者

replace space with new line

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  


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

or

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


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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜