/** * Parse the content of the periodo pubblicazione field. * * @param $td the table cell * * @return an array of one or two dates with no trailing spaces. */ public static function parseInizioFinePubblicazione($td) { //remove all whitespaces $inizio_fine_pubblicazione = str_replace(' ', '', $td->textContent); $l = strlen($inizio_fine_pubblicazione); if ($l < 10 || $l > 20) { throw new Exception("Invalid dates {$inizio_fine_pubblicazione}"); } //just the start date if ($l == 10) { return array(AlbojCityGovParseUtils::parseDate($inizio_fine_pubblicazione)); } //both start and end time $inizio_pubblicazione = substr($inizio_fine_pubblicazione, 0, 10); $fine_pubblicazione = substr($inizio_fine_pubblicazione, 10); return array(AlbojCityGovParseUtils::parseDate($inizio_pubblicazione), AlbojCityGovParseUtils::parseDate($fine_pubblicazione)); }