네이버환율정보를 가져오려는데 잘안되는데....
본문
아래코드를 메인에 넣었습니다...
# 네이버 자료에서 환율정보를 얻어온다.
function Ncurrency() {
# 데이터 호출
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://info.finance.naver.com/marketindex/exchangeList.nhn');
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$res = iconv('euc-kr', 'UTF-8', $response); if(!$response) return 'false';
# 파싱
preg_match("/<tbody.*?>.*?<\/[\s]*tbody>/s", $res, $tbody); if(!is_array($tbody)) return 'false';
preg_match_all('`<tr.*?>(.*?)<\/[\s]*tr>`s', $tbody[0], $tr); if(!is_array($tr)) return 'false';
$Data = array();
foreach($tr[0] as $k=>$v) {
unset($td, $akey);
preg_match_all('`<td.*?>(.*?)<\/td>`s', $v, $td);
$td = $td[0];
$akey = preg_replace('/([\xEA-\xED][\x80-\xBF]{2})+/', '', strip_tags($td[0]));
$akey = trim(str_replace('JPY (100)', 'JPY', $akey));
$akey = trim(str_replace(' 100', '', $akey)); if(!$akey) return 'false';
$Data[$akey]['통화명'] = trim(strip_tags($td[0]));
$Data[$akey]["매매기준율"] = str_replace(',', '', trim(strip_tags($td[1])));
$Data[$akey]["현찰살때"] = str_replace(',', '', trim(strip_tags($td[2])));
$Data[$akey]["현찰팔때"] = str_replace(',', '', trim(strip_tags($td[3])));
$Data[$akey]["송금보낼때"] = str_replace(',', '', trim(strip_tags($td[4])));
$Data[$akey]["송금받을때"] = str_replace(',', '', trim(strip_tags($td[5])));
$Data[$akey]["환가료율"] = str_replace(',', '', trim(strip_tags($td[6])));
$Data[$akey]["미화환산율"] = str_replace(',', '', trim(strip_tags($td[7])));
}
return $Data;
}
그리고
<div>
<?php> $Data = Ncurrency();
</div>
했는데 아무것도 안나오네요?
!-->답변 2
<div>
<?php
$data = Ncurrency();
print_r2($data);
?>
</div>
위 정보가 정상적으로 출력 된다면
$data가 배열로 넘어오기 때문에 foreach 구문을 통해서 출력하면 되겠습니다.
!-->
변수 $res에서 값가져오는지부터
확인하세여 한줄한줄
값이 떨어지는지부터
확인하세여
확인하세여 한줄한줄
값이 떨어지는지부터
확인하세여
답변을 작성하시기 전에 로그인 해주세요.