Ejemplo n.º 1
0
    public static function wrap(string $string = null, int $max = 0, int $pad_left = 0) : string
    {
        if (empty($string)) {
            return '';
        }
        if ($max == 0) {
            $max = CLI::getWidth();
        }
        if (CLI::getWidth() < $max) {
            $max = CLI::getWidth();
        }
        $max = $max - $pad_left;
        $lines = wordwrap($string, $max);
        if ($pad_left > 0) {
            $lines = explode("\n", $lines);
            $first = true;
            array_walk($lines, function (&$line, $index) use($max, $pad_left, &$first) {
                if (!$first) {
                    $line = str_repeat(" ", $pad_left) . $line;
                } else {
                    $first = false;
                }
            });
            $lines = implode("\n", $lines);
        }
        return $lines;
    }
}
// Ensure the class is initialized.
CLI::init();