>  기사  >  백엔드 개발  >  php에서 xml 기반의 RSS 피드 기능을 만드는 예

php에서 xml 기반의 RSS 피드 기능을 만드는 예

高洛峰
高洛峰원래의
2017-02-10 16:39:591148검색

이 글에서는 주로 XML을 기반으로 RSS 피드를 생성하는 PHP의 기능을 소개하고, RSS 피드 파일 생성 클래스의 정의와 사용법을 예제 형식으로 분석합니다. 필요한 친구들은 이 글의 예시를 참고할 수 있습니다. >

PHP를 사용하여 XML 기반 RSS 피드를 만드는 기능을 설명합니다. 참고하실 수 있도록 모두와 공유해 주세요. 자세한 내용은 다음과 같습니다.

먼저 RSS 템플릿을 만드세요. 템플릿 파일명은 Feed.xml이고, 코드는 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/"></rss>

그런 다음 PHP 파일을 사용하여 데이터베이스에서 데이터를 읽고 RSS 파일을 생성합니다. 여기서는 데이터베이스에서 읽은 데이터를 시뮬레이션하는 데 배열이 사용됩니다. >

<?php 
class Rss{
  protected $dom = null;
  protected $temp = &#39;./feed.xml&#39;;
  protected $rss = null;
  protected $title = &#39;&#39;;
  protected $desc = &#39;&#39;;
  protected $link = &#39;&#39;;
  public function __construct(){
    $this->title = &#39;物理学&#39;;
    $this->desc = &#39;现代物理学&#39;;
    $this->link = &#39;http://mysql/rss.php&#39;;
    $this->dom = new DOMDocument(&#39;1.0&#39;,&#39;utf-8&#39;);
    $this->dom->load($this->temp);
    $this->rss = $this->dom->getElementsByTagName(&#39;rss&#39;)->item(0);
  }
  public function feed($arr){
    $this->createChannel();
    $channel = $this->dom->getElementsByTagName(&#39;channel&#39;)->item(0);
    foreach ($arr as $v){
      $channel->appendChild($this->createItem($v));
    }
    header(&#39;content-type:text/xml&#39;);
    echo $this->dom->savexml();
  }
  protected function createChannel(){
    $channel = $this->dom->createElement(&#39;channel&#39;);
    $channel->appendChild($this->createEle(&#39;title&#39;,$this->title));
    $channel->appendChild($this->createEle(&#39;link&#39;,$this->link));
    $channel->appendChild($this->createEle(&#39;description&#39;,$this->desc));
    $this->rss->appendChild($channel);
  }
  protected function createItem($arr){
    $item = $this->dom->createElement(&#39;item&#39;);
    foreach($arr as $k => $v){
      $item->appendChild($this->createEle($k,$v));
    }
    return $item;
  }
  protected function createEle($name,$value){
    $e=$this->dom->createElement($name);
    $t=$this->dom->createTextNode($value);
    $e->appendChild($t);
    return $e;
  }
}
$arr = array(
  array(
    &#39;title&#39;=>&#39;牛顿力学&#39;,
    &#39;link&#39;=>&#39;1&#39;,
    &#39;description&#39;=>&#39;牛顿力学&#39;
  ),
  array(
    &#39;title&#39;=>&#39;相对论&#39;,
    &#39;link&#39;=>&#39;1&#39;,
    &#39;description&#39;=>&#39;爱因斯坦的相对论&#39;
  )
);
$rss = new Rss;
$rss->feed($arr);
?>

마지막으로 Firefox에서의 효과:

XML 기반 RSS 피드 기능 예제에 대한 더 많은 PHP 제작 예제를 보려면 다음을 참조하세요. PHP 중국어 웹사이트를 주목하세요! php에서 xml 기반의 RSS 피드 기능을 만드는 예

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.