繁体   English   中英

PHP DateTime ::带有html字符实体的格式

[英]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将是双引号的换行符。

您可以通过在前面加上反斜杠转义ns来防止这种情况。

这行代码应该为您工作:

$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.'); ?>
&nbsp;
<?php echo $start_date->format('d,'); ?>
&nbsp;
<?php echo $start_date->format('Y'); ?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM