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

언론사 rss피드 가져오기 알려주세요 채택완료

rss 주소는 http://rss.nocutnews.co.kr/news/pohang.xml

 

저기서 기사 이미지주소를 가져오고 싶은데 아래 코드에서 어떻게 추가하면 될까요?

그리고 기사날짜가 1970.01.01 로 나오는데 어떻게 수정하면 될까요?

 

</p>

<p><?php

    $rssdata = simplexml_load_file("<a href="http://rss.nocutnews.co.kr/news/pohang.xml");" target="_blank" rel="noopener noreferrer">http://rss.nocutnews.co.kr/news/pohang.xml");</a>

    $num_of_data = 6;

    $outdata = "";

    for ($i=0; $i<$num_of_data; $i++){

        $entry = $rssdata->channel->item[$i];

        $date = date("Y.m.d", strtotime($entry->pubDate));

        $title = $entry->title;

        $link = $entry->link;

        $thumb = ;

        $outdata .= '<li>' . '<time>' . $date. '</time>';

        $outdata .= '<a target="_blank" href="' . $link . '">' . $thumb . '</a>';

        $outdata .= '<a target="_blank" href="' . $link . '"><p>' . $title . '</p></a></li>';

    }

        echo '<ul>' . $outdata . '</ul>';

?></p>

<p>

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

답변 1개

채택된 답변
+20 포인트

이미지는

$thumb = $entry->children('media', true)->content->attributes()['url'];

이렇게 해보시고요

 

날짜는

원래 RSS date format 이 

Wed, 24 Feb 2021 15:48:34 +0900

이런 형식이고 strtotime에 넣으면 timestamp로 잘 변환도 하는데

rss가 날짜형식을 이상하게 줬네요

Feb 라고 줘야하는데 02 이렇게 줘서 

저걸 바꿔줘야할 것 같은데 

아님 preg_replace로 ISO 8601 date format으로 변환한후 strtotime 해야할 것 같아요

 

 

 

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

답변에 대한 댓글 3개

네 감사합니다. 이미지 잘 나옵니다 ^^
날짜가 큰일이네요 ㅠㅠ
$pubDate = preg_replace('/[A-Za-z]{3}, ([0-9]{2}) ([0-9]{2}) ([0-9]{4}) ([0-9\:]{8}) \+([0-9]{2})([0-9]{2})/', '$3-$2-$1T$4+$5:$6', $entry->pubDate);
$date = date("Y.m.d", strtotime($pubDate));
정말 갑사합니다^^

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

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

로그인

전체 질문 목록