我有一些使用维基百科API从维基百科信息框解析的信息。我要解析的一个信息是生日:
$birthdate = "birth_date = {{Birth date|1958|8|29}}"
我希望得到输出如下的birtdate信息:
1958-8-29
在我的考虑中,我可以使用php函数explode
,但我认为这是一种非常糟糕的方法,可以在每种情况下获得正确的信息。
我的问题是:
有没有人知道在每种情况下解析生日信息的方法,与其他内容无关? 如果是的话,你能举个例子吗?
答案 0 :(得分:0)
你可以用正则表达式尝试这个。
$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