[英]PHP DateTime::format with html character entities
我正在用MySQL的DateTime类(我的服务器正在运行PHP 5.5.14)将日期格式从MySQL数据库写入DOM中,
$start_date->format('M. d, Y');
但是,当到达div结束时,年份将换行。 我希望我可以像这样插入一个不间断的空格:
$start_date->format('M. d, Y');
但是班级成员认为n和s是格式字符,并吐出了这些乱码: Mar.&3b30p; 27,&3b30p; 2015
我可以逃脱那些角色吗? 还是在格式化日期后,我是否必须制作一个用html字符实体替换空格的函数?
您需要转义那些格式字符:
'M.&\n\b\s\p;d,&\n\b\s\p;Y'
我只是逃避了所有这些,而不是查找哪些是必须逃脱的。 还容易看到,如果将它们转义,它们并不意味着是格式的一部分。
这仅适用于单引号字符串,因为\\n
将是双引号的换行符。
您可以通过在前面加上反斜杠转义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
或者你可以
<?php echo $start_date->format('M.'); ?>
<?php echo $start_date->format('d,'); ?>
<?php echo $start_date->format('Y'); ?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.