J'utilise PHP pour obtenir du XML à partir d'une API (disons 3 fois rapidement). Je récupère toutes les chaînes correctes de toutes les données. Le problème vient quand j'essaye de reformater la chaîne de temps avec les deux méthodes suivantes:La chaîne de l'élément PHP DOM rompt avec strtotime() ou preg_replace()
$dataset = $xmlDoc->getElementsByTagName("Class");
foreach($dataset as $row) {
$xmlStartTimes = $row->getElementsByTagName("StartTime");
$xmlStartTime = $xmlStartTimes->item(0)->nodeValue;
echo $xmlStartTime; // Gives eg. 12/30/1899 6:15:00 PM
// Convert Time to 24H
// Attempt 1:
$cleanStartTime = preg_match('^12/30/1899 (0[1-9]|1[0-2]):(0[1-9]|[1-5][0-9]):([00]) (AM|PM|pm|am)$', $xmlStartTime, $matches);
print_r($matches); // Gives empty array
// Attempt 2:
$cleanStartTime = date("H:i", strtotime("$xmlStartTime"));
echo $cleanStartTime // Gives 1:00
}
Merci d'avoir jeté un oeil.
'var_dump ($ xmlStatrTime)' est-ce une chaîne ou SimpleXmlElement? –