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

웹사이트 주소 알아내기

· 12년 전 · 3070 · 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주소를 알수 있나요?

게시글 목록

번호 제목
5722
31534
5717
19190
19181
19177
19173
19171
27353
19169
24530
27350
19161
19159
19156
19154
19152
19150
19147
19145
19143
19141
30830
19135
19129
19124
19118
19115
19111
19108
19104
19101
19098
19094
27342
19093
26548
19090
19088
19086
24524
31526
26539
32021
32015
5705
26533
24510
26524
24507
24506
19082
24498
5702
27337
32011
19080
19075
19073
19072
27330
27328
32010
32005
32001
19071
19063
31998
31994
5676
27327
31989
5671
5666
19056
31988
31987
31981
26515
30823
19050
19047
19039
31969
5649
27323
31963
19027
19020
19017
19014
19009
19005
31949
18998
18994
18988
18982
31941
31934