이벤트, 이름, 학교, 최종 수영 시간 및 수영 한계 값 (DIIA)을 결과 페이지에서 (http://www.gliac.org/sports/mswimdive/2010-11/stats/Results_Wed_Finals.htm)와 같은 정규식으로 지정해야합니다. 결과는 "pre"html 태그로 나머지 페이지와 구분됩니다.정규식을 구성하여 복수 데이터 추출
각 "라인"은 다음과 같다 :
1 Donahue, Maura 19 INDY 10:39.77 10:03.60 DIIA
불행하게도, 나는 그렇게 할 정확히 모르겠어요. 문제 중 하나는 (내 마음에!) 때로는 수영 선수의 나이 (19
)와 그렇지 않은 시간이 표시된다는 것입니다. 또한 때로는 결과에 시드 시간 (10:39.77
)이 표시되고 다른 시간에는 최종 시간 (10:03.60
) 만 표시됩니다.
이름에서 ",
"으로 분할하려고 시도했지만 정규식을 시작했지만 비참하게 실패했습니다.
HTML 페이지의 내용을 추출하는 데 simple_html을 사용하고 있습니다.
내 코드 (내가 PHP를 사용하고 있습니다) 다음과 같습니다 : 당신이 도와 또는 올바른 방향으로 날 지점 수 있다면
$results_url = "http://www.gliac.org/sports/mswimdive/2010-11/stats/Results_Wed_Finals.htm";
// Create a DOM object from a URL
$html = file_get_html($results_url);
if (!$html->find('pre')) {
$parse_error = "Yes";
}
if (!isset($parse_error)) {
$regex = "/[0-9]+(?=[ \s]+)(?=[A-Za-z]+)/";
$splits = preg_split($regex, $html, PREG_SPLIT_DELIM_CAPTURE);
print_r($splits);
}
것은, 그 좋지 않을까! 이 데이터를 추출하기 위해 결과에 대한 정규식을 실행할 수도 있습니까?
감사합니다.
이 페이지의 서식은 매우 고정적입니다. 당신은 이것을 위해 문자열 조작을 고려 했습니까? 고정 길이 서식을 활용할 수 있습니다. –
코드는 모든 결과에 대해 실행되는 스크립트 용이지만 충족 결과의 형식은 항상 pre 태그와 all 내에서이 형식과 비슷합니다. 문자열 조작으로 생각하고있는 것에 대한 자세한 정보를 제공해 주시겠습니까? – Robert