Вы можете извлечь информацию с помощью приведенного ниже кода:
// sample string you provided
$string = "10/06/2010 09:10:40 Work not yet started";
// regular expression to use
$regex = "/^(\d+)\/(\d+)\/(\d+) (\d+)\:(\d+)\:(\d+) (.+?)$/";
Теперь все необходимые поля находятся в массиве $ match.Чтобы извлечь информацию в массив $ match, вы можете использовать preg_match ()
// method 1: just extract
preg_match($regex, $string, $matches);
// method 2: to check if the string matches the format you provided first
// then do something with the extracted text
if (preg_match($regex, $string, $matches) > 0) {
// do something
}
Для дальнейшего использования полученной информации:
// to get a Unix timestamp out of the matches
// you may use mktime()
// method 1: supposed your date format above is dd/mm/yyyy
$timestamp = mktime($matches[4], $matches[5], $matches[6],
$matches[2], $matches[1], $matches[3]);
// method 2: or if your date format above is mm/dd/yyyy
$timestamp = mktime($matches[4], $matches[5], $matches[6],
$matches[1], $matches[2], $matches[3]);
Тогда вы можете посмотретьвремя правильно проанализировано:
print date('r', $timestamp)
Наконец, получите комментарий следующим образом:
$comment = $matches[7];
Помните о проблеме с часовым поясом.Если вы анализируете эти данные на том же сервере, что и они, вам, скорее всего, все будет хорошо.Возможно, вам придется добавить / вычесть время из отметки времени выше.