7
    **PHP**

    $datearr = explode("/", $cutOff);
    $month = $datearr[0];
    $day = $datearr[1];
    $year = $datearr[2];
    $mainten = "MAINTENANCE";
    $pad=' ';
    $maint = str_pad($mainten, 20, $pad);
    $string = $cduid . $maint . $inarea . $year . $month . $day . "\n";

我正在尝试将此字符串解析到服务器,并且 $maint 必须在右侧填充空格。我也试过。。。。。。

    $datearr = explode("/", $cutOff);
    $month = $datearr[0];
    $day = $datearr[1];
    $year = $datearr[2];
    $mainten = "MAINTENANCE";
    $maint = str_pad($mainten, 20);
    $string = $cduid . $maint . $inarea . $year . $month . $day . "\n";

当我回显 $string $maint 右侧只有 1 个空格。如果我替换 $pad=' '; 与 $pad='.'; 我得到了正确的结果,但我需要它是空格。

我在这里想念什么?

4

2 回答 2

21

在 HTML 中,您只能显示一个空格,但通常在源代码中有多个空格,如您所愿。

&nbps;不适用于 str_pad,因为它有 6 个字符(在 HTML 中只有 1 个字符),但对于 str_pad 它将失败。

只有一种方法,怎么做,你必须填充一些字符(即。~)然后用 

$maint = str_replace('~', ' ', str_pad($mainten, 20, '~')); // just use some character you know isn't in your string

这将 100% 有效。

于 2013-10-23T09:25:45.167 回答
1

当我回显 $string $maint 右侧只有 1 个空格。

问题是如果你在 HTML 代码中回显你的字符串,它不会显示所有的空格。如果您查看该页面的源代码,您可以看到添加的所有空间。

于 2013-10-23T09:26:07.897 回答