2014-10-29 5 views
0

위키피디아 Infobox에서 Wikipedia API를 사용하여 파싱 한 일부 정보가 있습니다. 내가 구문 분석 할 내 정보 중 하나는 생일입니다 :폭발을 사용하지 않는 정보를 구문 분석하는 방법은 무엇입니까?

$birthdate = "birth_date = {{Birth date|1958|8|29}}"

내가 출력은 다음과 같이이라는 birtdate 정보를 원하는 :

1958-8-29

내 고려에서 내가 사용할 수 있습니다 PHP는 함수 explode하지만 이것은 올바른 정보를 각각의 경우에 얻을 매우 나쁜 방법이라고 생각합니다.

내 질문은 :

사람은 다른 콘텐츠에서 바로 독립적으로 각각의 경우에 생년월일 정보를 분석 할 수있는 방법을 알고 있나요? 그렇다면 예를들 수 있습니까?

+0

정규식 – vaso123

+0

http://php.net/manual/en/function.strtok.php – Anthony

+0

대신 WikiData 사용을 고려해보십시오. https://www.wikidata.org/wiki/Property:P569 – leo

답변

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