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

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

$arrayStrings = explode("\n",$text); // Массив строк
$bigLengthString = 0;                // Самая длинная строка

foreach($arrayStrings as $string)
{
    $stringLength = mb_strlen($string);
    if($bigLengthString < $stringLength) // Находим самую длинную строку
    {
        $bigLengthString = $stringLength;
    }
}

for ($i = 1; $i <= $bigLengthString; $i++)        // Перебор символов в строках
{
    foreach($arrayStrings as $string) {
        $arrayChars = preg_split("//u",$string);  // Разбираем строку на символы
        $arrayCharsLength = count($arrayChars)-1; // Длинна строки

        if($i < $arrayCharsLength)              // Если $i входит в строку
        {
            echo " $arrayChars[$i] |";          // Печатаем символ
        }
        else                                    // Если не входит
        {
            echo "   |";                        // Печатаем заглушку
        }
    }
    echo "\n";
}

