我有一个xml文件,我正在重写其中的一部分,并且我需要用每个str_replace增加一个毫秒(或秒)的时间戳。我找到了用于递增的教程,并为时间戳添加了第二个教程,但不是在循环或每个替换实例期间添加时间。是否有可能增加str_replace中的时间戳?
我更换代码如下所示:
$data = str_replace("</tag1><tag2>", "</tag1><myDate>".date(DATE_ATOM)."</myDate><tag2>", $data);
(澄清,上面有该文件中的模式的多个实例)
的是作品的替代品,但无法弄清楚如何在每次出现时向日期字符串添加毫秒或秒,因此它们都是唯一的。
谢谢!
UPDATE:
感谢vascowhite指着我在正确的方向,我不得不这样一些DOM操作相结合,但它的工程!这是解决方案,对于那些想知道:
$domsrc = file_get_contents("output.xml");
$MYdom = new DomDocument();
$MYdom->loadXML($domsrc);
$date = new DateTime();
$oneSecond = new DateInterval('PT1S');
$descriptions = $MYdom->getElementsByTagName('myDate');
foreach($descriptions as $nodeDesciption)
{
$nodeDesciption->nodeValue = $date->format(DATE_ATOM);
$date->add($oneSecond);
}
$MYdom->save("DOMoutput.xml");
我已经搜遍了网络,找不到处理这两件事情的任何地方(str_replace和TIME递增)。我可以找到一个或另一个,但增加解决方案不处理时间。 :( – Stephen