Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP DateTime::带有html字符实体的格式_Php_Html_Datetime_Html Entities - Fatal编程技术网

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

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字

我正在从一个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字符实体替换空格吗?

您需要转义格式化字符:

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


那么你放弃了还是怎么了?对不起,我被其他项目缠住了。我喜欢逃避所有的角色。它更具可读性。谢谢