<?php
 
error_reporting(-1);
mb_internal_encoding('utf-8');

$text = 
"Дым табачный воздух выел.
Комната -
глава в крученыховском аде.
Вспомни -
за этим окном
впервые
руки твои, исступленный, гладил.
Сегодня сидишь вот,
сердце в железе.
День еще -
выгонишь,
можешь быть, изругав.
В мутной передней долго не влезет
сломанная дрожью рука в рукав.";

$regexp = '/\n/';
$lines = preg_split($regexp, $text, 0, PREG_SPLIT_NO_EMPTY);

$maxlength = mb_strlen($lines[0]);
$numberOfColumn = count($lines);

foreach ($lines as $line) {

    $length = mb_strlen($line);
    if ($length > $maxlength) {
    	$maxlength = mb_strlen($line);
    } 
}

for ($line = 0; $line < $maxlength; $line++) {

	for ($column = 0; $column < $numberOfColumn; $column++) {

        $symbol = mb_substr($lines[$column], 0, 1);
        echo "{$symbol}";
        if ($lines[$column] == '') {
            echo " ";
        }
        echo " | ";
        $lines[$column] = mb_substr($lines[$column], 1);
    }
    echo "\n";
}
