0

晚上好

我创建了一段时间在变量中添加空格。这正是我所需要的,但现在我需要将文本集中在空格之间:

这是PHP中的代码:

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

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

最大大小为 20 个字符,我需要所有 psn 的大小相同(20 个字符)

我得到了结果,但是空格被添加到文本的末尾,现在我想在文本之间分配空格以使其集中。

太感谢了。

4

1 回答 1

0

您可以使用所有本机函数来实现此目的:

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;
于 2019-09-28T05:42:41.690 回答