웹마스터 팁

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

제목 글쓴이 날짜
mysql 안쓰는 간단한 게시판. [20] 제로저아 2007.07.15
주민등록번호 검사기 [7] 이진혁 2007.05.18
PHP스터디시리즈_php프로그램의 기초_연산자1 [1] 에아 2007.04.28
PHP스터디시리즈_php프로그램 기초1 [6] 에아 2007.04.09
PHP스터디시리즈_APM과 PHP의시작 [1] 에아 2007.04.09
아무이유없이 만든 파일 메모장-ㅠ-;; [7] 한태종 2007.02.25
다운로드 이어 받기 및 전송속도 제한 구현 [1] 박원형 2006.12.11
sajax.php 소스 코드 분석 (자세한 한글 주석) 유창화 2006.11.28
간단하게 만들어본 프레임워크 [2] file 유창화 2006.11.27
[PHP 동영상강의] 48. 엑셀파일 db에 넣기, 동적 select 구현 [8] 서기 2006.10.27
[PHP 동영상강의] 47. phpmyadmin 최신버젼 설치하기 [3] 서기 2006.10.27
네이버 메인페지 플래시광고처럼 들갈때마다 바뀌게 하기. [3] 좋은남자 2006.08.30
[팁] 웹언어 개발자를 위한 고객 미디어플레이어 에러해결법 배광한 2006.07.24
PHP로 PDF만들기 1 행복한고니 2006.06.17
GD2를 이용한 간단한 이미지버튼 만들기... file 마땅해 2006.06.13
50줄로 만드는 웹메모 PHP 소스입니다. (웹사이트 포스트잇) [3] file 김성대 2006.05.17
중복파일 검사 후 (숫자)달기... [4] 한치근 2006.04.20
올블로그 명예의 전당글 가져오기 (캐쉬기능추가) [2] 유창화 2006.04.17
올블로그(http://www.allblog.net/Home/) 명예의 전당글 가져오기 [2] 유창화 2006.04.17
네이버 openapi 사용하여 쇼핑검색 만들기 [3] 유창화 2006.04.13