2012-05-04 2 views
0

PHP로 작성된 페이지가 있으며, PHP에서 작성한 후에 특정 태그를 찾기 위해 HTML 소스 코드를 검색 할 수 있기를 원합니다. 이것이 불가능하거나 현명하지 않습니까?페이지를 스크랩하는 데이터 PHP로 작성된

나는 모든 것이 기술적으로 이미 HTML에 기록 된 스크립트의 끝에서 file_get_contents를 사용했는데, 내가

(내 호스트의 자원 제한을 히트) 내 페이지를 일시적으로 그런 식으로 깨진 것 같아 내 주요 목표는 자바 스크립트를 사용하여 페이지의 요소를 하나씩 변경할 수있는 방법을 찾는 것입니다. 나는 PHP가 쓴 ... 변경하려고하는 html 태그를 찾을 수 있다면 내가 할 수 있다고 생각합니다 ... 같은 페이지에.

자바 스크립트에 아주 새롭게 보입니다.

+0

Javascript로 무엇을 할 계획입니까? 요소를 하나씩 변경 하시겠습니까? 수업별로? 신분증? 어떤 유형의 요소입니까? 이것은 Javascript가 즉석에서 상황을 변경하는 데 도움이되지만 변경하려는 대상에 따라 Javascript가 달라질 수 있다는 점에서 유용합니다. – Vladimir

+0

나는 약간 혼란 스럽다. 자바 스크립트에 힌트를주기 위해 태그를 검색하기 위해 PHP 스크립트가 필요합니까? 자바 스크립트를 작성하기 전에 문서의 구조에 대해 잘 알고 싶다면 PHP를 정상적으로 실행하고 원하는 방식으로 출력을 검사 할 수 있습니다. – Chuck

+0

내가하려는 것은 목록을 애니메이션화하는 방법을 파악하는 것입니다. 페이지는 입력 된 텍스트 파일에 대한 항목 조합을 기반으로 한 게시물 목록 (리 형식이 아님)을 표시합니다. 그래서 HTML로 뱉어 낼 때까지는 div 태그에 의해 만들어지고 구분되고 색깔이 지정된 콜렉션입니다. 정적 버전은 잘 작동하기 때문에 이제는 각 게시물에 애니메이션을 적용하고 싶습니다. 각 게시물을 어떻게 타겟팅할지 잘 모르겠습니다. 어쩌면 master 래퍼 div 태그 안에있는 모든 div 태그에 해당하는 foreach가있을 수 있습니다. 나는 내가 PHP를 사용해야하는지조차 모른다.확실하지 않은 2 시작 – user1159454

답변

1

클라이언트 측에서 jquery를 사용하면 상당히 쉽게이 작업을 수행 할 수 있습니다.

PHP를 사용하여 서버 측을 처리해야하고 코드를 생성하는 동안 절대 서버 측에서 처리 할 수없는 경우 ob_start()를 사용하여 출력을 캡처 한 다음 ob_get_contents()를 사용하여 이전에 문자열로 삭제할 수 있습니다 ob_end_clean()을 사용하여 브라우저에 플러시합니다.

0

대부분의 브라우저에서 렌더링 된 웹 페이지를 마우스 오른쪽 버튼으로 클릭하고 '소스보기'의 변형을 선택할 수 있습니다. 또는 cURL 페이지의 콘텐츠를 텍스트 파일로 볼 수 있습니다.

또한 file_get_contents();은 페이지/파일의 내용을 가져 오기위한 새로운 요청을합니다. 따라서 페이지를로드하고 하단에서 페이지 내용을 가져 오려고하면 새 페이지를로드 한 다음 다른 페이지는 영원히로드합니다. 무한 루프를 만들고 호스팅 공급자가 지시 한대로 할당 된 리소스를 소모합니다. 페이지를 생성하는 당신이, 예를 들어, 출력을 캡처하지 않는 한

0

페이지는 당신이 그렇게 자신의 HTML 출력을 변경하려면로드 된 후 내가 잘못 이해하지 않은 경우,

<?php 
echo "<div id='mydiv'></div>"; 
?> 
<script type="text/javascript"> 

     window.onload = function() { 
     document.getElementById("mydiv").innerHTML = "updated html"; 
     } 

</script> 
0

<?php 

ob_start(); 
.... page building here ... 
$page = ob_get_clean(); 
echo $page; 
?> 

작업 할 아무 것도 없습니다. 그러나 위와 같이 캡처하는 경우 $ page를 DOM에 넣고 거기에서 조작 할 수 있습니다.

하지만이 질문은 ... 페이지를 만든 후에 페이지를 변경해야하는 경우 처음부터 어떻게 구축되었는지를 변경하지 않는 것이 좋습니다.

관련 문제