PHP DateTime::带有html字符实体的格式
我正在从一个MySQL数据库向DOM写入日期,该数据库由PHP的DateTime类(我的服务器运行的是PHP5.5.14)格式化,如下所示PHP DateTime::带有html字符实体的格式,php,html,datetime,html-entities,Php,Html,Datetime,Html Entities,我正在从一个MySQL数据库向DOM写入日期,该数据库由PHP的DateTime类(我的服务器运行的是PHP5.5.14)格式化,如下所示 $start_date->格式('M.d,Y') 然而,当这一年结束时,它将进入一个新行。我希望我能插入这样一个不间断的空格: $start_date->格式('M.d,Y') 但是这个类认为n和s是格式字符,并且说出了这样的胡言乱语:Mar.&3b30p;27、&3b30p;2015年 我能逃脱那些角色吗?或者我需要创建一个函数,在格式化日期后用html字
$start_date->格式('M.d,Y')代码>
然而,当这一年结束时,它将进入一个新行。我希望我能插入这样一个不间断的空格:
$start_date->格式('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');
这将输出:2015年3月27日
日期格式的一个很好的例子:或者您可以
<?php echo $start_date->format('M.'); ?>
<?php echo $start_date->format('d,'); ?>
<?php echo $start_date->format('Y'); ?>
那么你放弃了还是怎么了?对不起,我被其他项目缠住了。我喜欢逃避所有的角色。它更具可读性。谢谢