질문답변

네이버에서 제공하는 환율정보를 가져오는 함수

작성자 정보

  • 케케묵은새별 작성
  • 작성일

컨텐츠 정보

본문

만들면서 정규식을 배워야겠다는 마음이 간절히 드네요 ㅋㅋ

 

# 네이버 자료에서 환율정보를 얻어온다.
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;
}
$Data = Ncurrency();

관련자료

댓글 0
등록된 댓글이 없습니다.

질문답변

최근글


새댓글


  • 댓글이 없습니다.
알림 0