<?php
error_reporting(-1); /*Сверху вниз*/
$text = 
"123 321 333.
312, 231 213.
dog, cat, man.
fewj wejf.";
$array = array();
$array = preg_split ("@\\n@",$text);

foreach ($array as $value){ /* высчитываем количество циклов*/
$long = strlen ($value);
$longHigh = ($longHigh>$long)? $longHigh : $long;
}
$longHigh -=1; /* минусуем 1 у длины циклов что бы не появилось пустое место. хз как еще это пофиксить*/
for ($i=0;$i<=$longHigh;$i++){/* пишем буквы столбиком */
foreach ($array as $key => &$value){
	
	$char = substr($value,$i,1);
	if ($char == ""){ /* с помощью этого не даем таблицы начать косить */
	echo " | ";
	}
	
	else {
	echo $char."| ";
	}
}
	echo "\n";
}