웹마스터 팁

http://search.dyd.cc/shop.php?q=%EA%B0%80%EC%A0%84&start=1&display=5네이버의 openapi에서 키를 받으셔야 사용할수 있습니다.

궁금한 점은 http://openapi.naver.com/15.html 이곳에서 확인하세요.

결과가 간단하므로 복잡하게 처리하지 않고 간단하게 처리햇습니다.
php에서 fopen()을 지원하는 환경에서만 가능합니다.

파일저장을 UTF-8 로 하여야만 에러가 나지 않습니다.

이하 소스
-----------------------------------------------------------------------------------------------------------

<?php

$q =  (!empty($_GET['q'])) ? $_GET['q'] : '';
$q_decode = (!empty($q)) ? stripslashes(urldecode($q)) : '';
$q_enocde = urlencode($q);

$start =  (!empty($_GET['start']) && is_numeric($_GET['start'])) ? $_GET['start'] : 1;
$display =  (!empty($_GET['display']) && is_numeric($_GET['display'])) ? $_GET['display'] : 5;

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<title> 쇼핑 검색 </title>
</head>

<body>
<center>
<form method='GET'>
<input type=text name='q' value='+ '<?=$q_decode?>'> <input type='submit' value='search'>

start <input type=text name='start' value='<?=$start?>' size=3>
display <input type=text name='display' value='<?=$display?>' size=3>
</form>
<table width=600 border=1 cellspacing=3>
<?php

if (!empty($q_decode)) {

  $naver_openapi_key = '자신이 네이버에서 발급받은 키를 넣으세요';
  $file = 'http://openapi.naver.com/search?key=' . $naver_openapi_key . '&query=' . $q_enocde . '&display=' . $display . '&start=' . $start . '&target=shop&sort=sim';
  $fp = fopen($file, 'r') or die($file . ' not found');

  $text = '';
  while($data = fread($fp, 4096)){

    $text .= $data;
  }

  fclose($fp);

  preg_match_all("`<item>[^<]*<title>([^<]*)</title>[^<]*<link>([^<]*)</link>[^<]*(<image>([^<]*)</image>)?(<image/>)?[^<]*(<lprice>([^<]*)</lprice>)?(<lprice/>)?[^<]*(<hprice>([^<]*)</hprice>)?(<hprice/>)?[^<]*(<description>([^<]*)</description>)?(<description/>)?`s", $text, $matches);

  if (is_array($matches[1]) && count($matches[1]) > 0){

    foreach($matches[1] as $key => $val){

      //title
      $title = str_replace(array("<", ">"), array("<", ">"), $val);
      
      //link
      $link = $matches[2][$key];
      
      //image
      if (empty($matches[4][$key])) $image = '정보없음';
      else $image = "<img src='" . $matches[4][$key] . "'>";

      //lprice
      if (empty($matches[7][$key])) $lprice = '정보없음';
      else $lprice = number_format($matches[7][$key]) . " 원";

      //hprice
      if (empty($matches[10][$key])) $hprice = '정보없음';
      else $hprice = number_format($matches[10][$key]) . " 원";

      //description
      if (empty($matches[13][$key])) $description = '정보없음';
      else $description = str_replace(array("<", ">"), array("<", ">"), $matches[13][$key]);

      echo "<tr align='center'>";
      echo "<td width='100'> <a href='" . $link . "' target='_blank'>" .  $title . "</a> </td>";
      echo "<td width='180'>" . $image . "</td>";
      echo "<td width='100'>" . $lprice . "<br>" . $hprice . "</td>";
      echo "<td>" . $description . "</td>";
      echo "</tr>";
    }
  }
  else echo "<tr><td>검색결과 없음</td></tr>";
}
else echo "<tr><td>검색어를 입력하세요</td></tr>";

?>
</table>
<br><a href='http://openapi.naver.com/'+ ' target='_blank'>네이버 OPENAPI 사용</a>
</center>
</body>
</html>
-----------------------------------------------------------------------------------------------------------

utf-8 환경에서만 사용가능합니다.

데모로 걸은 링크 사이트는 며칠후에는 안보일수 있습니다
http://search.dyd.cc/shop.php?q=%EA%B0%80%EC%A0%84&start=1&display=5

제목 글쓴이 날짜
그룹별 회원정보 검색 & 회원의 추가가입폼 복수 검색 팁 (XE 1.5) sejin7940 2012.03.22
업데이트 후 사이트 통함검색이 안되시는 분 보십시오^^ RGM 2012.02.12
[레이아웃관련] 구글검색 달기 file 인터니즈2 2011.11.04
관리툴 회원관리에서 확장변수로 검색 시 숫자 이외 검색불가 해결 방법 카리브 2011.10.10
자체 우편번호 검색DB 사용하기 우진홈 2011.08.11
맞춤형 검색창 만들기 [9] thejeon 2009.05.19
이용자가 댓글을 닉네임으로 검색할순 없나요? [2] gc00 2011.03.04
XE 검색 속도 향상 팁(확장 변수 검색시) [5] 명드래곤 2011.02.26
grep로 하위 폴더내 파일까지 내용 검색하기 fsfsdas 2011.02.20
apache 1.3.x-2.0.48 의 원격 유저 검색 취약점을 이용한 exploit [2] DearMai 2003.12.27
네이버 openapi 사용하여 쇼핑검색 만들기 [3] 유창화 2006.04.13
네이버 openapi 사용하여 실시간 인기검색어 보여주기 [3] 유창화 2006.04.13
[PHP 동영상강의] 46. 다중검색기 제작해보기 [8] 서기 2006.04.06
[PHP 동영상강의] 45. 우편번호 검색기 제작해보기 [12] 서기 2006.03.30
php 랜덤 이미지 디렉토리 검색으로 편하게.. [3] 꺼노 2003.08.28
이젠 주소검색 편하게쓰자~~~!! (새창띄우지 않습니다) [5] _-=Knight=-_ 2003.03.05
제가 쓰는 mysql 검색알로리즘 입니다. [5] 콩알™ 2002.05.20
[수정본]MP3파일를 검색하여 윈앰프로 실시간 감상하기 제누스 2002.03.28
파일시스템(배열)에서의 검색기능 [5] 두기두바 2002.01.09
자신의 홈페이지에 (검색,사전,로또,주식) 통합버전을 넣어보자. [3] Rising.kr 2008.01.21