用空格填充字符串的剩余部分

时间:2012-07-19 09:02:06

标签: php

感谢您的支持。 我有一个字符串,例如,32个字符。首先,我想建立字符串最多32个字符,如果只是字符,我想添加空格,例如,9。

示例:

ABCDEFGHI ---> 9个字符

我想要这个:

ABCDEFGHI_ _ __ _ __ _ __ _ ---&gt ;自动添加9个字符+23个空格。

谢谢

8 个答案:

答案 0 :(得分:5)

您正在寻找的功能是str_pad

http://php.net/manual/de/function.str-pad.php

$str = 'ABCDEFGHI';
$longstr = str_pad($str, 32);

默认的填充字符串已经是空格。

由于您的最大长度应为32,并且str_pad在字符串超过32个字符时不会执行任何操作,您可能需要使用substr将其缩短,然后:

http://de.php.net/manual/de/function.substr.php

$result = substr($longstr, 0, 32);

如果你的字符串长度正好是32个字符,那么这也不会采取任何行动,所以你现在总是在$result中找到一个32个字符的字符串。

答案 1 :(得分:1)

使用str_pad

str_pad('ABCDEFGHI', 32);

答案 2 :(得分:1)

使用str_pad功能:

$result = str_pad($input, 32, " ");

答案 3 :(得分:1)

您需要str_pad

$padded = str_pad($in,32,' ');

你可以左右填充大量选项,全部检查here

如果输入超过32个字符,则不采取任何措施,但这很容易实现:

if (strlen($padded) > 32)
{
    throw new Exception($padded.' is too long');//or some other action
}

答案 4 :(得分:0)

我不是PHP开发者,但我认为this就是你想要的。

答案 5 :(得分:0)

for($i=0;$i<(32-strlen($your_string));$i++)
{ 
    $new_string.=$your_string.' '
}

希望对你有所帮助

答案 6 :(得分:0)

如果您想在功能中进行更多自定义,可以使用此

function fill($input, $length, $filler = ' ')
{
    $len = strlen($input);
    $diff = $length - $len;

    if($diff > 0)
    {
        for ($i = 0; $i < $diff; $i++)
        {
            $input = $input . $filler;
        }
    }
    return substr($input, 0, $length);
}

答案 7 :(得分:-3)

$str = "ABCDEFGHI";
for ($i = 0; $i < 23; $i++) {
    $str .= "&nbsp;";
}

这就是你想要的?

当看到其他评论时,那将是最好的解决方案。