PHP로 RSS 및 Atom 피드 구문 분석

Olorunfemi Akinlua 2023년6월20일
  1. implode()simplexml_load_string()을 사용하여 PHP에서 RSS 피드 구문 분석
  2. simplexml_load_file()을 사용하여 PHP에서 RSS 피드 구문 분석
PHP로 RSS 및 Atom 피드 구문 분석

RSS(Really Simple Syndication)는 API에 대한 JSON과 마찬가지로 초기 인터넷 사용자가 동시에 읽을 수 있는 일관된 형식으로 웹 사이트 업데이트에 액세스할 수 있게 해주는 인기 있는 피드였습니다. 그러나 RSS는 요즘 거의 인기가 없으며 형식에 대한 마지막 안정적인 릴리스는 13년 전인 2009년이었습니다.

PHP에서 JSON 얻기 및 읽기 또는 HTML 구문 분석과 마찬가지로 PHP에서 내장 함수를 사용하여 PHP에서 RSS 피드를 얻고 구문 분석할 수 있습니다.

이 기사에서는 PHP에서 RSS를 구문 분석하는 데 도움이 되는 두 가지 기본 제공 함수와 전체 프로세스를 지원하는 기본 제공 함수가 있는 PHP 라이브러리에 대해 설명합니다.

implode()simplexml_load_string()을 사용하여 PHP에서 RSS 피드 구문 분석

SimpleXML 라이브러리에는 XML과 함께 작동하여 PHP를 사용하여 조작할 수 있는 객체로 변환할 수 있는 수많은 함수가 포함되어 있습니다. 첫 번째 함수는 PHP에서 RSS 피드를 구문 분석하는 데 도움이 되는 simplexml_load_string()입니다.

RSS 피드를 구문 분석하는 방법을 이해하기 위해 이 RSS 피드 The Daily by New York Times를 사용하고 피드 내에 있는 모든 콘텐츠의 배열을 가져옵니다.

file() 함수는 RSS 피드를 읽고 모든 콘텐츠의 배열을 반환하고 implode() 함수는 배열의 모든 요소를 문자열에 결합하고 문자열을 반환합니다.

이 문자열 값은 simplexml_load_string()에 전달되며, XML 문자열을 개체로 해석한 다음 json_encode() 함수를 사용하여 인코딩하고 json_decode() 함수를 사용하여 배열로 디코딩합니다. 작업.

<?php

$feed = implode(file('https://feeds.simplecast.com/54nAGcIl'));
$xml = simplexml_load_string($feed);
$json = json_encode($xml);
$array = json_decode($json,TRUE);

var_dump($array);
?>

출력:

implode 및 simplexml 로드 문자열을 사용하여 PHP에서 RSS 피드 구문 분석

simplexml_load_file()을 사용하여 PHP에서 RSS 피드 구문 분석

simplexml_load_string()과 마찬가지로 simplexml_load_file() 함수는 XML을 해석합니다.

그러나 이 경우 XML 문자열이 아닌 XML 파일이 해석합니다. 객체도 반환합니다.

둘 다 동일한 값을 반환하므로 이 코드에서는 코드를 반복하여 제목, 링크, 설명 및 게시 날짜에서 이전 코드 조각에 적용할 수 있는 특정 값을 선택합니다.

이를 위해 $xml의 하위 개체인 channel 태그를 사용한 다음 태그의 손자인 item[$i]를 사용하여 액세스할 수 있습니다. 제목, 링크 등과 같은 다른 속성(객체)에

<?php

$url = "https://feeds.simplecast.com/54nAGcIl";

$xml = simplexml_load_file($url);

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

    $title = $xml->channel->item[$i]->title;
    $link = $xml->channel->item[$i]->link;
    $description = $xml->channel->item[$i]->description;
    $pubDate = $xml->channel->item[$i]->pubDate;

    echo "\nThe Title: " . $title . ".\n";
    echo "\nChannel Link: " . $link . ".\n";
    echo "\nChannel Description: " . $description . ".\n";
    echo "\nDate of Publication: " . $pubDate . ".\n";
}
?>

출력:

Simplexml 로드 파일을 사용하여 PHP에서 RSS 피드 구문 분석

Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn