0

这是我的代码:

<?php
$str1 = "Hello";
printf("[%99s]",$str1);
?>

我希望它输出 94 个空格作为填充来满足最小长度。为什么它只在字符串右侧输出 1 个空格?

4

2 回答 2

0

如果您要输出到网页,HTML 看不到空格(如果您检查源代码,可能存在 94 个空格)。你必须用'&nbsp;'.

试试这个:

echo str_replace(' ', '&nbsp;', sprintf("[%-99s]\n", $str1));
于 2013-05-08T08:33:20.130 回答
0

您的代码添加了正确数量的空格。您的问题很可能只是您在浏览器中查看它的表示而不是源代码。在 HTML 中,多个空格将合并为一个空格。

在浏览器源代码中查看您的输出或使用以下命令:

<pre>
<?php
$str1 = "Hello";
printf("[%99s]",$str1);
?>
</pre>
于 2013-05-08T08:35:56.347 回答