首页 > 解决方案 > 在php中添加日期和时间之间的html跨度

问题描述

我正在编写如下所示的 php 代码,我想在 php 中添加日期和时间之间的跨度。

<time style="width:194px;" datetime="<?php echo esc_attr(date_format($ts, 'H:i d-m-Y')) ?>"
    data-timezone="<?php echo esc_attr($tz_param) ?>"><?php echo esc_html(date_format($ts, 'F j H:i')) ?></time>

上面的 php 代码打印以下内容:

September 4 05:09

检查时,它显示如下:

<time style="width:194px;" datetime="05:09 04-09-2019" data-timezone="et">September 4 05:09</time>

问题陈述:

我现在想要实现的是,我想把时间放在span中。这是我尝试过的。我想知道将时间放在 php.ini中的正确方法是否正确。

<time datetime="<?php echo esc_attr(date_format($ts, 'H:i d-m-Y')) ?>"
    data-timezone="<?php echo esc_attr($tz_param) ?>"><?php echo esc_html(date_format($ts, 'F j').'<span>'.(date_format($ts, 'H:i'))).'</span>' ?></time>       

检查时,它应该是这样的

<time style="width:194px;" datetime="05:09 04-09-2019" data-timezone="et">September 4<span>05:09</span></time>  

标签: phphtmldatetime

解决方案


你似乎让它变得比需要的更困难。您可以简单地escape输入字符span以使其无需连接即可访问。IE:

<?php

$ts=time();

echo date('F j &\nb\sp;  &\nb\sp; <\s\p\a\n>H:i<\/\s\p\a\n>', $ts);

?>

会输出

September 4 &nbsp;  &nbsp; <span>15:56</span>

更新

$ts=time();

echo '<time style="width:194px;" datetime="' . date('H:i m-d-Y', $ts) . '" data-timezone="et">' . date('F j &\nb\sp;  &\nb\sp; <\s\p\a\n>H:i<\/\s\p\a\n>', $ts) . '</time>';

会回声

<time style="width:194px;" datetime="16:12 09-04-2019" data-timezone="et">September 4 &nbsp;  &nbsp; <span>16:12</span></time>

这已经过测试并且可以工作但是我没有这个功能esc_attr($tz_param),所以你必须自己手动把它放在字符串中.. 像这样:

echo '<time style="width:194px;" datetime="' . date('H:i m-d-Y', $ts) . '" data-timezone="' . esc_attr($tz_param) . '">' . date('F j &\nb\sp;  &\nb\sp; <\s\p\a\n>H:i<\/\s\p\a\n>', $ts) . '</time>';

推荐阅读