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

웹사이트 주소 알아내기

· 12년 전 · 3071 · 11
include '스누피 클래스 파일 주소';
$snoopy = new Snoopy;
$snoopy->fetch("웹사이트주소");
$t=explode("<title>","<xmp>".$snoopy->results."</xmp>");
$r=explode("</title>","<xmp>".$t[1]."</xmp>");
echo $r[0];

고수분들은 식은죽먹기일텐데 스누피를 처음사용하는 저는 3시간이나 걸려서 만들어냈습니다;;
힘들게 만든만큼 공유하려고합니다.

그럼 소스설명하겠습니다.

include '스누피 클래스 파일 주소';

일단 우리는 스누피가 필요합니다.
http://sourceforge.net/projects/snoopy/
여기서 다운받을수있습니다.
다운로드받은후 원하시는 폴더에 압축풀으시면 snoopy.class.php 라는파일이 있습니다.
이 경로를 include 해주세요

$snoopy->fetch("웹사이트주소");
$t=explode("<title>","<xmp>".$snoopy->results."</xmp>");

해당 웹사이트주소의 소스를가져와서 화면에 뿌려줍니다.
근데 문제는 html형식 그대로 뿌려주기때문에 <xmp>태그로 html태그까지 그대로 보여줘야합니다.
htmlspecialchars함수는 안해봐서 모르겠네요 아마도 그것도 똑같이 작용할거같습니다.

하여튼 뿌려진 html태그중에 <title>로 시작하는부분을 찾아내서 <title>앞의 부분은 잘라버립니다

$r=explode("</title>","<xmp>".$t[1]."</xmp>");
echo $r[0];

이젠 </title>뒷부분을 잘라줍니다.
그럼 결국 남는것은 사이트의 제목이 되는것입니다

근데 제가만들었지만 하나 문제점이 있는거같네요
저 사이트주소부분에 phpschool.com 을 넣어주고 출력을해보면

PHPSCHOOL-���� 1�� ������ Ŀ�´�Ƽ!

이렇게 나오더라고요
제생각으로는 제사이트는 utf-8을쓰고 이사이트는 euc-kr을 써서 서로 안맞는거같은데
혹시 고칠수있으신분은 댓글달아주시면 감사하겠습니다.

echo iconv("EUC-KR","UTF-8",$r[0]);
이렇게 출력하시면 깨지는현상 해결됩니다

댓글 작성

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

로그인하기

댓글 11개

좋은자료 감사합니다!
한수 배워 갑니다
fetch 웹사이트 주소는 <- 이 부분은 어캐 써야 하죠????
스누피 클래스로 트위터 계정 IP주소를 알수 있나요?

게시글 목록

번호 제목
19528
6810
6807
6801
6798
6791
24615
24612
6788
30933
6784
6783
27834
19527
19526
19524
19521
6777
6770
19519
27823
6766
24604
6760
6757
30925
19518
30924
30923
6746
19516
30922
19515
30921
6732
27803
19508
19507
24599
19504
19501
19498
19497
19496
19495
19493
19492
19491
19490
19489
6721
6720
19488
19487
19486
19485
30919
19484
30913
30910
19483
19482
19478
30908
19477
31683
19475
19473
19471
19470
19469
19468
19467
19466
19464
19462
19461
19460
19459
31680
19458
19457
31676
31674
31671
31670
31669
31664
31663
31662
31658
31657
19456
19455
31655
31653
31649
31646
27800
19454