테스트 사이트 - 개발 중인 베타 버전입니다

php 파싱! 간편하면서 강력한 - PHP Simple HTML DOM Parser

· 12년 전 · 20704 · 14
http://simplehtmldom.sourceforge.net/

다운로드 링크  : http://sourceforge.net/projects/simplehtmldom/files/latest/download?source=files


해당 홈에 나와있는 예제입니다.
간단한 주석을 붙입니다.

//html 을 가져오고
$html = file_get_html('http://www.google.com/');            

// 모든 이미지태그를 찾아냅니다.
foreach($html->find('img') as $element) 
       echo $element->src . '<br>';                                  

// 모든 a태그를 찾아내어 href속성을 뿌려줍니다.
foreach($html->find('a') as $element)                             
       echo $element->href . '<br>';

// 컨텐츠내에 텍스트들만 가져옵니다.
echo file_get_html('http://www.google.com/')->plaintext

// css jquery 많이 만져보셨다면 선택자는 거의 동일합니다.
//몇번째 a태그 같은 경우도 가져올수 있구요
foreach($html->find('div.article') as $article) {
    $item['title']     = $article->find('div.title'0)->plaintext;
    $item['intro']    = $article->find('div.intro'0)->plaintext;
    $item['details'] = $article->find('div.details'0)->plaintext;
    $articles[] = $item;
}

//가져오기전 해당 태그내의 텍스트도 이렇게 간단히 변경가능합니다.
$html->find('div[id=hello]', 0)->innertext = 'foo';



현재 홈에는 예제가 별로 안나와있는데 파일받아보시면
풍부한 예제가 많습니다.
강력추천드립니다 ㅋㅎ



댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 14개

사용하기 쉽지만 성능면에서는 어떨지 궁금하네요.
괜춘하네요!!
12년 전
크롤러 소스네요 ㅋㅋ 좋네요 ㅋㅋ
12년 전
감사합니다.
12년 전
좋네요.~~
감사합니다.
snoopy.class 얼마전에 처음 알고 신기해했는데. 이것도 좋아보이네요^^
12년 전
오호............
그누보드랑 접목 시킨 예제는 없을까요? 삽질 연속중..ㅠㅠ
12년 전
해보시면서 궁금하신 부분 여쭤보세요 도움닫는한 답변드릴께요 ㅎㅎ
감사합니다.

샘플 형태로 다 진행을 해봤는데요. URL 구글로 샘플된거 해보면 계속
Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /home1/**********/parser/simple_html_dom.php on line 75

이렇게 오류가 생기네요.
ㅠㅠ

구현하고 싶은것은 그누보드에 url 입력창에 입력하면 특정 게시물의 일부 또는 전체를 가져올까합니다. 블로그 같은경우 최신 RSS 50개만 적용되어서요. 50개이전글을 가져와서 DB저장시킬 방법을 찾고있습니다.

게시글 목록

번호 제목
28403
28402
28401
28398
28397
28394
4504
26593
4502
18132
28388
4496
4491
4486
4483
4482
4479
18122
18120
26590
18113
24419
4474
4465
4461
4460
4451
26589
퍼블리셔 이뻐요^^
4450
4448
24418
31037
26390
4446
26585
26581
26578
18098
4443
18097
26388
18094
30596
26387
18091
4445
18088
18086
18085
18082
18081
18078
18076
18074
18072
18070
18069
18066
18064
18057
18056
30588
18055
18054
30585
18051
18050
18048
18047
18044
26386
18042
30580
4425
18039
18037
18031
18028
18027
18022
18018
18016
18009
4423
18003
18000
17999
17996
17993
17989
17987
17986
17985
17984
4411
17979
30576
26383
17975
30569