채택완료

snoopy 질문 드립니다.

2017-09-12 (화) 11:44:33 2,825

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

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

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

답변 4개 / 댓글 3개

채택된 답변
+20 포인트

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

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

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

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

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

답변에 대한 댓글 1개

아, 그렇군요. 한번 해보겠습니다. 고맙습니다.
2017-09-12 (화) 13:33:45

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

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

답변에 대한 댓글 1개

2017-09-12 (화) 17:10:58
네 이제야 확인합니다.
물론 공백 한칸을 \s로 처리하지 않아도 됩니다.
그런데 본내용에 보면 preg_match_all로 처리하는 것으로 보아
pattern modifier s,x 등이 붙을 수 있다고 생각해.ㅅ
그런경우 공백처리를 해야 제대로 해결되는 경우가 제 경험으로는 많았던것 같습니다.

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

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

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

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

답변에 대한 댓글 1개

2017-09-12 (화) 13:26:49
저런 상태에서 공백을 \s로 처리하지 않으면 안됩니다.
2017-09-12 (화) 12:09:15

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

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

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