У меня есть некоторая информация, которую я проанализировал из инфобокса Википедии с помощью API Википедии. Одна из моих Информаций, которую я хочу проанализировать, это дата рождения:
$birthdate = "birth_date = {{Birth date|1958|8|29}}"
я хочу иметь информацию о том, что вывод birtdate выглядит следующим образом:
1958-8-29
в моих соображениях я могу использовать функцию PHP explode
но я думаю, что это очень плохой способ вернуть в каждом случае нужную информацию.
Мой вопрос:
Кто-нибудь знает способ парсинга информации о дате рождения в каждом конкретном случае, независимо от другого контента?
И если да, можете ли вы привести пример?
Вы можете попробовать это с регулярным выражением.
$matches = array();
$birthdate = "birth_date = {{Birth date|1958|8|29}}";
preg_match('/^(.*)\|([0-9]{4})\|([0-9]{1,2})\|([0-9]{1,2})}}/is', $birthdate, $matches);
if (!empty($matches[2]) && !empty($matches[3]) && !empty($matches[4])) {
echo $matches[2]."-".$matches[3]."-".$matches[4];
} else {
echo 'Not found the parts of the date';
}
//Output is: 1958-8-29
Других решений пока нет …