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

웹사이트 주소 알아내기

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

감사합니다.

게시글 목록

번호 제목
11424
20668
11420
20222
11418
11416
11413
11410
11408
11407
11402
11397
11385
11382
11379
20665
11375
11373
11369
11368
20205
11360
11354
11352
11349