타 사이트 게시판 내용을 파싱해오려고 하는데 내용을 일부분만 파싱해옵니다.

타 사이트 게시판 내용을 파싱해오려고 하는데 내용을 일부분만 파싱해옵니다.

QA

타 사이트 게시판 내용을 파싱해오려고 하는데 내용을 일부분만 파싱해옵니다.

본문

안녕하세요.
네이버 블로그에서 '외부 사이트 긁어와서 XE에 자동으로 글 쓰기'를 보고 적용중에 있는데, 외부 사이트의 게시물 제목을 긁어와서 글 쓰기까지 잘 되고 있습니다.

그런데 제목은 잘 받아와지는데, 게시글 내용을 제대로 받아오질 못하고 있습니다.
(내용을 일부분만 짤려서 받아오고 있습니다.)

$l_content1 = explode('<td class="black" style="padding-left:10px">',$l_title1[1]);
$l_content2 = explode('<br><td>',$l_content1[1]);

$l_content = $l_content2[0];

위와같이 <td class="black" style="padding-left:10px"> 부분부터 시작하여 <br><td> 까지 사이의 내용을 긁어와야 하는데 긁어오는 내용이 일부분만 보입니다.

원인을 파악해 보니 소스보기를 통해 보았을 때 엔터때문에 단락이 끊어질 경우, 엔터를 쳐서 단락이 끊어진 그 직전까지만 내용이 불러와지고 그 다음부터의 내용을 긁어오지 못하는것 같습니다.

어느부분을 어떻게 수정해야 할지 도움주시면 정말 감사드리겠습니다.
(중간에 엔터가 쳐져서 단락이 바뀐것을 무시하도록 하면 될것 같은데 방법을 몰라서 이렇게 문의드립니다.)

해당 소스 전체도 같이 올립니다.
고수님들의 도움을 간곡히 부탁드립니다.!

<?php 

//requires xmlrpc.inc from http://phpxmlrpc.sourceforge.net/ 

//!!중요!! xmlrpc파일이 필요함, 위 주소로 가서 zip파일을 다운로드, 압축해제후 lib폴더에 있는 xmlrpc.inc파일을 넣어주세요. 

//아 그리고, xe에서 애드온 메뉴에서 블로그api 기능의 기본설정이 off되어있는데 그걸 on 해주셔야 작동되겠죠? 

require_once('xmlrpc.inc'); 

$g_blog_url = "http://www.*******.com/xe/board/api"; 

$g_id = "***********"; 

$g_passwd = "************"; 

$GLOBALS['xmlrpc_internalencoding'] = 'UTF-8'; 

function metaWeblog_newPost( $blogid, $title, $content) 

{ 

  global $g_id; 

  global $g_passwd; 

  global $g_blog_url; 

   

  $client = new xmlrpc_client( "{$g_blog_url}"); 

  $f = new xmlrpcmsg("metaWeblog.newPost", // metaWeblog.newPost method 

    array(  

      new xmlrpcval("{$blogid}", "string"), // blogid. 

      new xmlrpcval($g_id, "string"), // user ID. 

      new xmlrpcval($g_passwd, "string"), // password 

      new xmlrpcval( // body 

          array( 

            'title'        => new xmlrpcval($title, "string"), 

            'description'    => new xmlrpcval($content, "string"), 

             

        ), "struct"), 

      new xmlrpcval(true, "boolean") // publish 

    ) 

  ); 

  $f->request_charset_encoding = 'UTF-8'; 

  $response = $client->send($f); 

  echo  $blogid.$title.$content; 

  

} 




include "Snoopy.class.php"; 




$s=new snoopy; 

$s->fetch('http://********.com/******=3300'); //긁을주소 

$txt=$s->results; 

  

$ex=explode('<td class="red_01" style="padding-left:10px">',$txt); //제목 




for($i=1;$i<sizeof($ex);$i++){ 

  

$l_title1 = explode('</td>',$ex[$i]); 

$l_title = $l_title1[0]; 




$l_content1 = explode('<td class="black" style="padding-left:10px">',$l_title1[1]); 

$l_content2 = explode('<br><td>',$l_content1[1]); 




$l_content = $l_content2[0]; 




$blogid="**************"; 

$title= $l_title; 

$content= $l_content; 




metaWeblog_newPost( $blogid, $title, $content); 




}//for문 

?> 

이 질문에 댓글 쓰기 :

답변 1

답변을 작성하시기 전에 로그인 해주세요.
전체 149
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT