Добавление пробелов в переменную - PullRequest
0 голосов
/ 28 сентября 2019

Добрый вечер

Я создал время, добавляя пробелы в переменную.это именно то, что мне нужно, но теперь мне нужно централизовать текст между пробелами:

вот код в PHP:

$psn = "ABCDEFGH";
$psnSize = strlen($psn);

while($psnSize <= 20)
{
    $psn = $psn."&nbsp";
    $psnSize++;
}

Максимальный размер составляет 20 символов, и мне нужновсе psn имеют одинаковый размер (20 символов)

Я получаю результат, но пробелы добавляются в конец текста, и теперь я хочу распределить пробелы между текстом, чтобы централизовать его.

Большое спасибо.

1 Ответ

0 голосов
/ 28 сентября 2019

Вы можете использовать все собственные функции для достижения этой цели:

function createLRPadding($str, $chars = 20)
{
    # Count the length
    $strlen =   strlen($str);
    # Don't do anything if you are at the max characters
    if($strlen >= $chars)
        return $str;
    # Get left and right balance
    $len    =   ($chars - $strlen) / 2;
    # Create fills on the left and right of the string and implode them to make one string
    return implode('', array_fill(0,round($len, 0, PHP_ROUND_HALF_UP),'&nbsp;')).$str.implode('', array_fill(0,round($len, 0, PHP_ROUND_HALF_DOWN),'&nbsp;'));
}

Для использования:

echo createLRPadding('Cool string');

Чтобы настроить заполнение, добавьте второй параметр:

echo createLRPadding('Cool string', 40);

Первый пример (по умолчанию 20 pad) напишет:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cool string&nbsp;&nbsp;&nbsp;&nbsp;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...