어려운 질문 (나를 위해) 누군가 이미 저를 도울 수 있기를 바랍니다. 나는 IMDB 사이트에서 배우의 이미지를 얻을이 코드를IMDB 액터 페이지에 정규 표현식이 적용된 PHP preg_match_all
$string = FetchPage($url);
$image_regex_src_url = '/<td id="img_primary"[^>]*'. 'src=[\"|\'](.*)[\"|\']/Ui';
$img_tag_array = $out[0];
$image_regex_src_url = '/<img[^>]*'.'src=[\"|\'](.*)[\"|\']/Ui';
preg_match_all($image_regex_src_url, $string, $out, PREG_PATTERN_ORDER);
$images_url_array = $out[1];
케빈 코스트너를 타고 여기 예를 들어 : http://www.imdb.com/name/nm0000126/
내가 변수로 원 오스카의 정수를 가져 오기 위해 내 코드에 적응하기 위해 노력하고있어 지금까지이 라인에서 "2 Oscars를 획득했습니다." 그리고 라인에서 다른 변수 자신의 생년월일에 "출생 : 케빈 마이클 코스트너 1955년 1월 18일 린 우드, 캘리포니아, 미국에서"
이런 일에 종료하려면 :
이$actor_oscars = 2;
$actor_birthdate = "January 18, 1955";
건이며, 정규 표현식에 대한 지식은 매우 제한적이며 이미 (시도 및 오류를 기준으로) 이것을 혼자서 만들려고 시도했지만 완전히 실패했습니다! 나를 도울 좋은 영혼이 있습니까?
추신 : 나는 여기에 코드를 넣으려고했지만 stackoverflow가 꽤 보이지만 그다지 전혀 성공하지 못하는 것 같습니다.
미리 감사드립니다.
preg_match('/<td[^>]*id="img_primary".+?<img[^>]*src="([^"]+)"/s', $str, $matches);
오스카 원 :
preg_match('/Won\s(\d+)\sOscars\./', $str, $matches);
출생 월 - 일 :
각는 preg_match 라인 $ 경기 후
올바른 파서를 사용하는 것이 좋습니다 (정규식을 사용하여 HTML을 구문 분석하지 마십시오). 적어도 그 이미지를 위해. ;-) – Qtax
DOM을 사용하면 훨씬 좋습니다. http://php.net/manual/en/book.dom.php – NorthGuard
나는 항상 내가하고있는 일을 성취하기위한 더 나은 방법이있을 것이라고 생각했지만, 지식은 제한되어 있고 내가 이해하는 방법으로 만 일합니다. 이 시간 동안, 나는 단지 한 번만 데이터를 가져오고 싶기 때문에 (물론) 이미 작업 할 코드가 있기 때문에이 메서드를 계속 사용해야 할 것입니다. : | –