테스트 사이트 - 개발 중인 베타 버전입니다

snoopy 질문 드립니다. 채택완료

바노 8년 전 조회 2,664

다음에서 주식 현재가 불러와서 활용하려고 하는데요.

아미나로 만들었을 때 사용했던 건데 그누보드에서 쓰려면 아래를 어떻게 바꿔줘야 되나요?

</p><p><?php
include_once 'Snoopy.class.php';
$snoopy=new snoopy;
$o="";
$snoopy->fetch("<a href="<a href="http://stock.daum.net/item/main.daum?code=035420" target="_blank" rel="noopener noreferrer">http://stock.daum.net/item/main.daum?code=035420</a>"><a href="http://stock.daum.net/item/main.daum?code=035420" target="_blank" rel="noopener noreferrer">http://stock.daum.net/item/main.daum?code=035420</a></a>");
$txt=$snoopy->results;
$rex="/\<em class=\"curPrice.+\"\>(.*)\<\/em\>/";
preg_match_all($rex,$txt,$o);
?></p><p><?php
function conv_num ( $num )
{
  $number = (int)str_replace(',', '', $num);
  return $number;
}
?></p><p><?php
$price = $o[1][0];
$nowprice = conv_num($price);
?></p><p><?php
$buy = 745000;
$count = $nowprice - $buy;
$rate = ($count/$buy)*100;
?></p><p>

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
8년 전

아미나 또는 그누보드5에 영향을 미칠만한게 없습니다.

그런데 패턴 때문에 실패될 경우가 생길 수 있겠습니다.

(직접 해보지 못해 장담은 못하겠지만...ㅎㅎㅎ)

실패하면 다음처럼 패턴을 바꿔 시도해 보시죠.

$rex="/(.*)<\/em>/"; 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

바노
8년 전
아, 그렇군요. 한번 해보겠습니다. 고맙습니다.

댓글을 작성하려면 로그인이 필요합니다.

@네이비칼라 님 해보시고 답변해 주시는건가요? 없어도 크게 문제가 없이 잘 나오는데요.

덕분에 제 사이트에 스누피를 올렸네요.^^

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

네이비칼라
8년 전
네 이제야 확인합니다.
물론 공백 한칸을 \s로 처리하지 않아도 됩니다.
그런데 본내용에 보면 preg_match_all로 처리하는 것으로 보아
pattern modifier s,x 등이 붙을 수 있다고 생각해.ㅅ
그런경우 공백처리를 해야 제대로 해결되는 경우가 제 경험으로는 많았던것 같습니다.

암튼 제가 민폐를 끼친것 같아 승희아빠님을 번거롭게 해 드렸네요 ㅎㅎㅎ
즐겁고 보람된 시간들 보내시길 바랍니다 ^^

댓글을 작성하려면 로그인이 필요합니다.

정규식엔 문제가 없습니다.

질문으로 보아 아미나로 된 사이트에서 해당 페이지의 소스만 가져오신건 아닌지?

Snoopy.class.php도 있을 겁니다.  찾아서 함께 옮기세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

네이비칼라
8년 전
저런 상태에서 공백을 \s로 처리하지 않으면 안됩니다.

댓글을 작성하려면 로그인이 필요합니다.

소스에서 바꿔줘야 할 부분은 없어 보입니다만...

우측 상단에 질문하는 방법 한번 읽어 보시면 답변 얻는데 도움이 되실겁니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인