웹모아
웹모아[가입] 로그인 / 회원가입   검색     


  
토막소스
 

사이트 방문경로와 검색한 단어 알기
2008-08-10 21:51:15 댓글:(0)   조회:3065
 

어떤 검색엔진에서 어떤 검색어를 통해 사이트에 방문했는지 
체크하는 알고리즘입니다. 완전한 프로그램을 올려 드리면 좋겠지만 그냥 
알고리즘 정도만 파악하는데 참고 하세요... 


간단히 먼저 설명을 드리자면 

$_SERVER["HTTP_REFERER"] 를 통해 이전의 url 을 받아 옵니다. 

예를들어 네어버에서 부자되는법 으로 검색을 하면 

네이버 : http://search.naver.com/search.naver?where=nexearch&query=부자되는법&frm=t1&sm=top_hty 

이렇게 됩니다. 물론 urldecode() 을 통해 디코딩을 해야 한글이 나옵니다. 

parse_url() 함수는 해당 url 을 host, query 로 구분하여 주는데 좀더 자세히 설명을 
드리자면 주소와 ? 뒤에 있는 쿼리를 배열로 구분 해 줍니다. 
이건 직접 한번 디스플레이 해 보시면 아실겁니다. (소스에는 주석 처리했음) 

검색어 추출은 query 배열을 "&" 로 구분하여 배열로 재저장을 한 후에 
"query=" 와 "q=" 가 들어 있는 배열을 다시 "=" 로 구분해버립니다. 
(말은 어렵게 했는데 소스를 보시면 이해가 가실겁니다) 

검색엔진을 찾는것도 마찬가지로 일치하는 단어를 찾아냅니다. 

그럼 소스를 한번 보시죠. 


<? 

$url_tmp = urldecode( $_SERVER["HTTP_REFERER"]  );  
$url_p = parse_url( $url_tmp ); 

// echo "$url_tmp<br>";          
// echo "$url_p[query]"; 




// 어떤 검색어?? 

 $q2 = explode( "&", $url_p[query] ); 
  
 for ( $tmp_i=0; sizeof($q2)>$tmp_i; $tmp_i++ ) 
 {              
  if ( ereg("query=", $q2[$tmp_i]) OR ereg("q=", $q2[$tmp_i]) ) 
  {     
      $q3 = explode( "=", $q2[$tmp_i] ); 
      $q_end = $q3[1]; 
  } 
 } 


// 어느 검색엔진?? 

 if ( ereg("naver", $url_p[host]) ) { $host2 = "네이버"; } 
 else if ( ereg("yahoo", $url_p[host]) ) { $host2 = "야후"; } 
 else if ( ereg("daum", $url_p[host]) )  { $host2 = "다음"; } 
 else if ( ereg("empas", $url_p[host]) ) { $host2 = "엠파스"; } 
 else { $host2 = "기타"; } 
  
// $date_var[sh_name] = $host2; 
// $date_var[sh_string] = $q_end; 

// self::db_insert("counter.time", $date_var); 

?> 

꼭 필요해서 여러가지로 검색을 해봐도 잘 없고해서 그냥 만들어봤습니다. 
허접이지만 약간의 도움이라도 되셨길 바랍니다.
. 


[이전글]  내용 검색시 검색어 내용 포함되어있는 부분 출력하기
[다음글]  이미지 실제경로를 않보여주고 이미지 출력하기


 
댓글쓰기는 회원(로그인 하신분) 이상 가능합니다.


 댓글 (0)

  
토막소스
페이지: 1 / 13   

 php에서 UTF-8, EUC-KR 인코딩 변경
열람:80   2015.02.28


 PHP- 파일 다운로드시 속도 제한하기
열람:82   2014.01.04


 이미지 사이즈 비율대로 축소
열람:1665   2013.12.10


 PHP- 파일 다운로드시 속도 제한하기
열람:3387   2013.03.23


   파일 다운로드 속도 제한
열람:3176   2013.03.23


 ffmpeg 설치 후 php 업로드 간단 테스트
열람:3661   2012.07.11


 새청없이 주소검색
열람:2811   2010.01.19


 EUC-KR<=>UTF-8 상호변환 하기
열람:2807   2008.09.07


 키를 이용한 암호화/복호화 함수입니다.
열람:3160   2008.09.05


 간단한 암호화/복호화 함수
열람:2582   2008.09.05



[1]  [2]  [3]  [4]  [5]  

복수단어 검색은 공백(space)로 구분해 주세요.




 
최근 글 [손님]
 
인기 글 [손님]
[홈마스타] 중보입력 방지 루틴