У меня есть строка, разделенная пробелом. Я хочу показать каждую часть строки на новой строке, разделенной пробелом. Как мне это сделать.
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);