<?php

error_reporting(-1);
mb_internal_encoding('utf-8');

$text = 
"Дым табачный воздух выел.
Комната —
глава в крученыховском аде.
Вспомни —
за этим окном
впервые
руки твои, исступлённый, гладил.
Сегодня сидишь вот,
сердце в железе.
День ещё —
выгонишь,
может быть, изругав.
В мутной передней долго не влезет
сломанная дрожью рука в рукав.";
$strings = preg_split("/\n/ui", $text);
$maxLength = 0;
foreach($strings as $key => $str){
	$maxLength = max($maxLength, mb_strlen($str)); }
	
foreach($strings as $key => $str){
	$arrChars = preg_split('//ui', $str, -1, PREG_SPLIT_NO_EMPTY);
	$arrVal = array_values($arrChars);
	for($i=0; $i<$maxLength; $i++){
	if(isset($arrVal[$i]))
		 $finalarr[$i][] = $arrVal[$i];
	else $finalarr[$i][] = " ";
		}
	
	}
	foreach($finalarr as $arr){
		foreach($arr as $value)
			{ echo $value." | ";}
		echo "\n";}
