У меня есть PDF-файл, который я проанализировал с помощью плагина «pdfparser». Из текста страниц мне нужно найти первую дату после определенной строки (строка поиска). Я могу найти строку поиска и для извлечения даты я использовал
date_parse($string)
он извлекает дату, месяц в порядке, но я думаю, что из-за большой строки (с некоторыми другими датами, числами) он не заполняет правильный год, он дает случайное число, которого даже нет в документе.
Есть ли другой способ получить эту дату? Ниже приведена примерная строка (в ней больше даты после даты).
Satisfaction of the mortgage from Karen Ann Lewis,a single woman to Bank of America, N.A. recorded March 4, 2004
Вы можете попробовать следующее RegEx (чтобы извлечь первую дату в предоставленном вами формате), а затем использовать parse_date()
:
$str = 'Satisfaction of the mortgage from Karen Ann Lewis,a single woman to Bank of America, N.A. recorded March 4, 2004';
preg_match("/(Jan(uary)?|Feb(ruary)?|Mar(ch)?|Apr(il)?|May|Jun(e)?|Jul(y)?|Aug(ust)?|Sep(tember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?)\s+\d{1,2},\s+\d{4}/", $str, $matches);
var_dump( date_parse($matches[0]) );
Вышеуказанные выводы:
array(12) {
["year"] => int(2004)
["month"] => int(3)
["day"] => int(4)
["hour"] => bool(false)
["minute"] => bool(false)
["second"] => bool(false)
["fraction"] => bool(false)
...
}
Других решений пока нет …