-1

我从中读取的 RSS 提要最近更新并搞砸了很多事情,我修复了大部分问题,但我无法弄清楚。

以前的日期格式:

<div>
    <div>
        <div>
            13 </div>
    </div>
</div>
<div>
    <div>
        <div>
            July </div>
    </div>
</div>
<div>
    <div>
        <div>
            2012 </div>
    </div>
</div>

现在情况如何:

<div>
    <div>
        <div>13th July, 2012</div>
    </div>
</div>

所以:

  1. 日月和年必须在各自的 DIV 中分开(最困难)
  2. 需要删除“th”和“,”(这很容易使用 str_replace)

现在的问题是我可以在几分钟内使用 jQuery 完成此操作,但必须在保存之前使用 PHP 完成,而且由于 div 没有类/ID,这对我来说更加困难。

4

2 回答 2

4

您可以strip_tags在 PHP 中使用来获取日期,然后使用strtotime来规范化日期。

然后你可以生成任何你想要的 HTML。

编辑:这是您的解决方案:

<?php
//at this point, $string = the input you wish to modify
$string = "
<div>
    <div>
        <div>13th July, 2012</div>
    </div>
</div>
";

//get normalised time
$time = strtotime(trim(strip_tags($string)));

//with normalised time, generate your new output
echo "
<div>
    <div>
        <div>
            ".date("d",$time)." </div>
    </div>
</div>
<div>
    <div>
        <div>
            ".date("F",$time)." </div>
    </div>
</div>
<div>
    <div>
        <div>
            ".date("Y", $time)." </div>
    </div>
</div>
";
?>
于 2012-11-19T13:56:55.973 回答
0

无需为您编写实际代码,解决方案将是:

  • 使用 DOM 解析器获取您需要的信息(日期div内容);
  • explode关于空格字符;
  • (int)rtrim去掉逗号的第一个数字和月份。

或者使用更好的@Darrrrrren 解决方案......

于 2012-11-19T13:55:39.783 回答