<?php
header("Content-Type: text/plain; charset=utf-8");
?>

<?php
mb_internal_encoding("UTF-8");

$text        = "Дым табачный воздух выел.
Комната —
глава в крученыховском аде.
Вспомни —
за этим окном
впервые
руки твои, исступлённый, гладил.
Сегодня сидишь вот,
сердце в железе.
День ещё —
выгонишь,
может быть, изругав.
В мутной передней долго не влезет
сломанная дрожью рука в рукав.";
$text        = trim($text, "\r");
$newArray    = explode("\n", $text);
$lengthArray = array();
foreach ($newArray as $numStr => $str) {
    $lengthArray[$numStr] = mb_strlen($str, 'UTF-8');
}
$maxLength = max($lengthArray);
$emp       = ' ';

$words = array();
foreach ($newArray as $numberStr => $str) {
    $words[$numberStr] = preg_split("//u", $str, null, PREG_SPLIT_NO_EMPTY);
}

for ($k = 0; $k < $maxLength; $k++) {
    
    
    
    for ($i = 0; $i <= count($words) - 1; $i++) {
        if (isset($words[$i][$k])) {
            $var = $words[$i][$k];
            
            echo "  $var  |";
        } else {
            echo "  $emp  |";
        }
    }
    echo "\n";
    
    
}




