**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 =''; with $ pad ='。';;我得到了正确的结果,但我需要它是空格。
我在这里缺少什么?
答案 0 :(得分:15)
在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%有效。
答案 1 :(得分:1)
当我回显$ string $ maint时,右边只有1个空格。
问题是,如果您在HTML代码中回显字符串,它将不会显示所有空格。如果您查看该页面的来源,则可以看到添加的所有空格。