네이버 환율 파싱 소스를 https://sir.kr/cm_free/1350194 에서 참고하여 작성하여 웹호스팅(카페24 이용 중)에 업로드 하였을 때는 환율정보가 잘 나옵니다...그런데 내부서버(오토셋 10.7.2)로 업로드하면 Warning: Illegal string offset 'USD' in 파일주소 on line 59 등의 에러가 발생합니다.
아마 PHP버젼이 달라서 인 듯합니다. (카페24는 PHP 5.3, 오토셋은 PHP 7.2)
이 경우 다음과 같이 변경하여 적용하니 이상없이 잘 작동되네요....
참고하시기 바랍니다. (제 질문에 답변주신 슈와이님께 감사드립니다..)
<?
function Ncurrency() {
# 데이터 호출
$url = 'https://finance.naver.com/marketindex/exchangeList.nhn';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$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])));
}
return $Data;
}
$Data = Ncurrency();
?>
댓글 4개
게시글 목록
| 번호 | 제목 |
|---|---|
| 24318 | |
| 24317 | |
| 24315 | |
| 24309 | |
| 24294 | |
| 24293 | |
| 24277 | |
| 24262 | |
| 24260 | |
| 24253 | |
| 24251 | |
| 24236 | |
| 24233 | |
| 24228 | |
| 24226 | |
| 24221 | |
| 24214 | |
| 24203 | |
| 24201 | |
| 24199 | |
| 24196 | |
| 24195 | |
| 24194 | |
| 24192 | |
| 24191 | |
| 24187 | |
| 24185 | |
| 24183 | |
| 24172 | |
| 24168 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기