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

웹사이트 주소 알아내기

· 12년 전 · 3069 · 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개

감사합니다.

게시글 목록

번호 제목
27425
5811
5810
27422
19316
5809
5808
5807
5806
27421
5801
24540
24537
5798
30863
5795
27416
5793
27405
27403
19314
19312
19309
19306
19304
19303
5791
27397
19298
19293
19281
19278
19275
5787
5783
5781
5773
32027
19271
19269
19265
19264
5771
5770
27391
27389
27387
5768
27384
5767
5765
27379
27374
5763
27371
30846
5758
27365
5756
5753
19256
19250
19248
5748
19245
19244
정규표현식 정규식 표현법
19242
19241
5746
5744
5738
24534
5733
19232
19228
19225
19222
19220
19219
19217
19216
19215
19214
19213
19212
19211
19210
19209
19208
19207
19206
19204
5728
5727
5725
19200
JavaScript 주소표시 3
30841
19196
19192
27359