$words = ($HTTP_GET_VARS[keyword])?$HTTP_GET_VARS[keyword]:'news';
$ip = "";
$xfip = $_SERVER[REMOTE_ADDR];
$ua = $_SERVER[HTTP_USER_AGENT];
$sponser_url = "http://xml.kr.xxxxx.com/d/search/p/standard/xml/kr/spm2/mods/kk/?Keywords=";
$sponser_url .= urlencode(iconv('utf-8','euc-kr', $words)); // euc-kr 질의
$sponser_url .= "&Partner=xxxxx&maxCount=5&bolding=true&adultFilter=clean&keywordCharEnc=euc-kr";
$sponser_url .= "&outputCharEnc=euc-kr&affilData=ip%3D".urlencode($ip)."xfip%3D".urlencode($xfip)."ua%3D";
$sponser_url .= urlencode($ua);
$recv_data = "";
$fp = fopen($sponser_url, "r") or Die("Fail overture conn!!");
while ($result = @fgets($fp, 1024))
{
$recv_data .= $result;
}
@fclose($fp);
$s_cnt = 0;
$e_flag = 0;
$s_data = array();
function startElementHandler($parser, $name, $attrs)
{
global $s_cnt, $s_data, $e_flag;
if ($name == "LISTING")
{
$i = 0;
foreach($attrs as $key => $value)
{
$s_data[$s_cnt][$i] = ($i==1 or $i==2)?iconv('euc-kr', 'utf-8', $value):$value;
// 배열중 1,2의 내용에 한글이 있음으로 iconv를 적용
$i++;
}
$s_cnt++;
}
else if ($name == "NEXTARGS")
{
$e_flag++;
}
}
function endElementHandler($parser, $name)
{
}
function characterDataHandler($parser, $data)
{
global $s_cnt, $s_data, $e_flag;
if (trim($data) && $e_flag == 0)
{
$s_data[$s_cnt - 1][4] = $s_data[$s_cnt - 1][4].trim($data);
}
}
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElementHandler", "endElementHandler");
xml_set_character_data_handler($xml_parser, "characterDataHandler");
if (!@xml_parse($xml_parser, $recv_data, TRUE))
{
die ("error parsing!!!");
}
xml_parser_free($xml_parser);
print "";
print_r($s_data);
print "
";
/* End of File */
반응형
'db > mysql' 카테고리의 다른 글
mysql unauthenticated user 프로세스 문제 (0) | 2010.08.20 |
---|---|
mysql log (0) | 2010.01.27 |
mysql의 최대 성능 향상 방법 (0) | 2006.09.22 |
MySQL 예제와 성능튜닝 (0) | 2006.09.22 |
mysql 인덱스 (0) | 2006.09.22 |