<?php
mb_internal_encoding('utf-8');
//header('Content-Type: text/plain');
$text =
    "Дым табачный воздух выел.
Комната -
глава в крученыховском аде.
Вспомни -
за этим окном
впервые
руки твои, исступлённый, гладил.
Сегодня сидишь вот,
сердце в железе.
День ещё -
выгонишь,
может быть, изругав.
В мутной передней долго не влезет
сломанная дрожью рука в рукав.";

$strings = explode("\n", $text);

$maxX = count($strings);
$maxY = max(array_map("mb_strlen", $strings));
echo "$maxX $maxY \n";

for($y = 0; $y < $maxY; $y++) {
    for($x = 0; $x < $maxX; $x++){
        $ch = mb_substr($strings[$x], $y, 1);
        if (($ch == "")) {
            $ch = " ";
        } 
        echo "$ch |";
    }
    echo "\n";
}