我正在从MySQL数据库中写入日期到DOM,这些数据库由PHP的DateTime类(我的服务器运行PHP 5.5.14)格式化,如下所示
$start_date->format('M. d, Y');
但是,当它到达div的末尾时,年份将换行到新行。我希望我可以像这样插入一个不间断的空间:
$start_date->format('M. d, Y');
但是班级认为认为n和s是格式字符,并吐出这个胡言乱语: Mar.& 3b30p; 27,& 3b30p; 2015
我能逃脱那些角色吗?或者我必须在格式化日期之后创建一个用html字符实体替换空格的函数?
答案 0 :(得分:0)
您需要转义格式字符:
'M.&\n\b\s\p;d,&\n\b\s\p;Y'
我只是将它们全部逃脱而不是查找哪些必须被转义。如果它们被转义,也更容易看出它们不是格式的一部分。
这只适用于单引号字符串,因为\n
将是双引号中的换行符。
答案 1 :(得分:0)
您可以通过使用前面的反斜杠转义n
和s
来阻止这种情况。
这行代码适合您:
$start_date->format('M.&\nb\sp;d,&\nb\sp;Y');
这将输出:Mar. 27, 2015
日期格式的一个很好的例子:http://php.net/manual/en/function.date.php#example-2501
答案 2 :(得分:0)
或者您可以
<?php echo $start_date->format('M.'); ?>
<?php echo $start_date->format('d,'); ?>
<?php echo $start_date->format('Y'); ?>