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

게시글 가져오기 질문 입니다. 채택완료

완전초보에여 1년 전 조회 1,411

가져오는 소스 인데
내용이나 이런건 가져오는데
제목을 가져 오질 못합니다.
혹시 소스코드에 무슨 문제가 있을까요?
php버전은 7.3 입니다.

</p>

<p><?php

include_once('./_common.php');</p>

<p>global $g5, $member;</p>

<p>$url = @$_POST['url'] ?: @$_GET['url'];

$sel = @$_POST['sel'] ?: @$_GET['sel'];

$sel12 = @$_POST['sel12'] ?: @$_GET['sel12'];

$sel2 = @$_POST['sel2'] ?: @$_GET['sel2'];

$sel22 = @$_POST['sel22'] ?: @$_GET['sel22'];

$sel23 = @$_POST['sel23'] ?: @$_GET['sel23'];

$target_table = @$_POST['bo_table'] ?: @$_GET['bo_table'];</p>

<p>include_once('./S_hquery.php');</p>

<p>$result = array();</p>

<p>$list = hquery_getList($url, $sel); //목록 구해오기</p>

<p>foreach($list as $row) {</p>

<p>  global $g5, $member;

   preg_match_all("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]\d/i", $row['content_url'], $content_url);</p>

<p>  //  $sel2 = "div#container";</p>

<p>   foreach ($content_url as $a) {

      for ($i=0;$i<count($a);$i++){

        //echo $a[$i]."
";</p>

<p>            $url2 = str_replace("amp;","",$a[$i]);</p>

<p>            if($url2 != ''){

            $doc2 = hQuery::fromUrl(

                $url2

              , [

                    'Accept'     => $config['accept_html'],

                    'User-Agent' => $config['user_agent'],

                ]

            );</p>

<p>              $elements2 = $doc2->find($sel2);</p>

<p>              // $parts = parse_url($url);

              // parse_str($parts['query'], $query);

              // $result['wr_id'] = $query['wr_id'];</p>

<p>              foreach($elements2 as $pos => $el2) {</p>

<p>              $result2['wr_subject'] = $el2 -> find($sel22); //wr_subject값 구하기

              $result2['wr_content'] = $el2 -> find($sel23); //wr_name값 구하기</p>

<p>              }</p>

<p>              //  hquery_getContent($a[$i]);</p>

<p>              //   board_write($target_table, $contents);

               $write_table = $g5['write_prefix'].$bo_table;

               $wr_num = get_next_num($write_table);

               $wr_reply = '';

               $ca_name = "";

               $wr_option = "html1";

               $secret = "";

               $mail = "";

               $wr_subject = $result2['wr_subject'];

               $wr_content = $result2['wr_content'];

               $wr_link1 = "";

               $wr_link2 = "";

               $mb_id = "admin";

               $wr_name = "관리자";

               $wr_email = "";

               $sql = " insert into $write_table

                           set wr_num = '$wr_num',

                                wr_reply = '$wr_reply',

                                wr_comment = 0,

                                ca_name = '$ca_name',

                                wr_option = '$wr_option',

                                wr_subject = '$wr_subject',

                                wr_content = '$wr_content',

                                wr_link1 = '',

                                wr_link2 = '',

                                wr_link1_hit = 0,

                                wr_link2_hit = 0,

                                wr_hit = 0,

                                wr_good = 0,

                                wr_nogood = 0,

                                mb_id = '$mb_id',

                                wr_password = '',

                                wr_name = '$wr_name',

                                wr_email = '$wr_email',

                                wr_homepage = '$url2',

                                wr_datetime = '" . G5_TIME_YMDHIS . "',

                                wr_last = '" . G5_TIME_YMDHIS . "',

                                wr_ip = '0.0.0.0',

                                wr_1 = '',

                                wr_2 = '',

                                wr_3 = '',

                                wr_4 = '',

                                wr_5 = '',

                                wr_6 = '',

                                wr_7 = '',

                                wr_8 = '',

                                wr_9 = '',

                                wr_10 = '' ";

               sql_query($sql);

               $wr_id = sql_insert_id();

               // 부모 아이디에 UPDATE

               sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");

               // 새글 INSERT

               sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '" . G5_TIME_YMDHIS . "', '$mb_id' ) ");

               // 게시글 1 증가

               sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");</p>

<p>        //    sleep(1);</p>

<p>          }

    }

  }

}

goto_url('./scrap.php');

 </p>

<p>

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

답변 1개

채택된 답변
+20 포인트
global $g5, $member;
$url = @$_POST['url'] ?: @$_GET['url'];
$sel = @$_POST['sel'] ?: @$_GET['sel'];
$sel12 = @$_POST['sel12'] ?: @$_GET['sel12'];
$sel2 = @$_POST['sel2'] ?: @$_GET['sel2'];
$sel22 = @$_POST['sel22'] ?: @$_GET['sel22'];
$sel23 = @$_POST['sel23'] ?: @$_GET['sel23'];
$target_table = @$_POST['bo_table'] ?: @$_GET['bo_table'];

 

 

여기서 글로벌은 안해도 됩니다. common.php 인크루드할때 기본적으로 가져옵니다.

 

$url = @$_POST['url'] ?: @$_GET['url']; @ 는 과도하게 사용금지합니다.

어쩔수없이 특별한 이유 아니면 빼셔도 됩니다.

그리고 post 값 하고 get 값을 둘다 쓰신다면 $_REQUEST를 지향합니다.

마지막으로 제목이 제대로 안들어온다면 직접 변수를 적용해야되요

$wr_subject = $_REQUEST['wr_subject'];

 

 

 

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

답변에 대한 댓글 4개

완전초보에여
1년 전
어떻게 적용 해야할지 모르겠네요 ㅠㅠ 어떻게 해야되나요?ㅠㅠ;
완전초보에여
1년 전
총 정리본좀 가능할까요?ㅠㅠ;
리오닥터
1년 전
$wr_subject = $_REQUEST['wr_subject']; 이런식으로 하면되요 변수를 이렇게요
다른것도 저렇게하면되요
global $g5, $member; 이건 빼시구요
완전초보에여
1년 전
$wr_subject = $result2['wr_subject'];
$result2['wr_subject'] = $el2 -> find($sel22);

위 두개를 $wr_subject = $_REQUEST['wr_subject'] 이걸로 바꿔주면 되나요?

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

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

로그인