2013-10-09 1 views
2

나는 다음과 같이 simple_html_dom를 사용하여 웹 페이지에서 정보를 검색하려고 예상보다 다른 결과 :간단한 HTML DOM -

<?PHP 
include_once('dom/simple_html_dom.php'); 
$urlpart="http://w2.brreg.no/motorvogn/"; 
$url = "http://w2.brreg.no/motorvogn/heftelser_motorvogn.jsp?regnr=BR15597"; 
$html = file_get_html($url); 

foreach($html->find('a') as $element) 
     if(preg_match('*dagb*',$element)) { 
     $result=$urlpart.$element->href; 

     $resultcontent=file_get_contents($result); 
     echo $resultcontent; 

     } 

?> 

은 $ 결과 변수가 먼저 나에게 URL을 제공합니다 http://w2.brreg.no/motorvogn/dagbokutskrift.jsp?dgbnr=2011365320&embnr=0&regnr=BR15597

접근 위의 URL은 내 브라우저에서 예상 한 내용을 얻습니다.

$ resultcontent를 사용하여 콘텐츠를 검색 할 때 나는 노르웨이어의 "Invalid input"에서 다른 결과를 얻습니다.

왜 그런가?

+0

오, 내 말은 힘든 것이지만 여러 가지 방법으로 페이지를 다운로드했지만 여전히 같은 오류가 발생했습니다 ... 이상한 점은'$ result'를 예상 링크로 바꿀 때 올바른 출력을 표시한다는 것입니다 !!! 그래서 추출 된 링크에 숨겨진 문자가있을 수 있습니다. 개인적으로 찾을 수 없습니다. -/퍼즐 무엇 xD – Enissay

+0

힘든 것이지만 아래 답변에 의해 해결되었습니다! 도움을 주셔서 감사합니다! – DannyDj

답변

1
foreach($html->find('a') as $element) 
     if(preg_match('*dagb*',$element)) { 
     $result=$urlpart.$element->href; 
     $resultcontent=file_get_contents(html_entity_decode($result)); 
     echo $resultcontent; 

     } 

라인 번호에 html_entity_decode 기능을 사용할 수 있습니다.

+0

정말 고마워요.이게 내게 큰 고통이되었습니다! – DannyDj

1

URL 쿼리 매개 변수에 문제가 있습니다.

http://w2.brreg.no/motorvogn/dagbokutskrift.jsp?dgbnr=2011365320&embnr=0&regnr=BR15597 

URL의 캐릭터 '& 등록은'실제 결과를 얻기에서 당신을 중지 file_get_contents 기능에 ® 기호로 변환됩니다.

당신이 트릭을 할해야 11

$resultcontent=file_get_contents(html_entity_decode($result));