承接 yuzuru-s/parse-rss 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

yuzuru-s/parse-rss

最新稳定版本:1.0.6

Composer 安装命令:

composer require yuzuru-s/parse-rss

包简介

This PHP library can easily parse xml files, especially RSS1.0, RSS2.0 and ATOM.

README 文档

README

Coverage Status Build Status Stable Version Download Count License

This parser can handle RSS easily without being conscious of the difference of RSS1.0 and RSS2.0 and ATOM. and gets the minimum necessary value.

  1. site name
  2. site url
  3. article title
  4. article url
  5. article description
  6. date that article posted
  7. thumbnail of article

This thumbnail is composed by og:img and img tags included description.

Requirements

  • PHP
    • =5.5 >=5.6, >=7.0

  • ext-xml
  • ext-curl
  • Composer

Installation

  • Using composer
{
    "require": {
       "yuzuru-s/parse-rss": "1.0.*"
    }
}
$ php composer.phar update yuzuru-s/parse-rss --dev

How to use

Please check sample code

<?php
require __DIR__ . '/../vendor/autoload.php';
use YuzuruS\Rss\Feed;

$url = 'http://blog.livedoor.jp/dqnplus/index.rdf';
$ua = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36';
$res = Feed::load($url, $ua, true);

echo 'Title:' . $res['channel']['title'] . "\n";
echo 'Link:' . $res['channel']['link'] . "\n";

foreach ($res['item'] as $r) {
	echo "\t" . 'Article Title:' . $r['title'] . "\n";
	echo "\t" . 'Article Description:' . $r['description'] . "\n";
	echo "\t" . 'Article Date:' . $r['date'] . "\n";
	echo "\t" . 'Article og:img:' . $r['image']['ogimg'] . "\n";
	foreach ($r['image']['img'] as $i) {
		echo "\t\t" . 'Desc:img:' . $i . "\n";
	}
}

OUTPUT

array(2) {
  'channel' =>
  array(2) {
    'title' =>
    string(27) "site name"
    'link' =>
    string "site url"
  }
  'item' =>
  array(15) {
    [0] =>
    array(5) {
      'title' =>
      string "title"
      'link' =>
      string"url"
      'date' =>
      string "date"
      'description' =>
      string "description"
      'image' =>
      array(2) {
        'ogimg' =>
        string(58) "img url"
        'img' =>
        array(3) {
          [0] =>
          string(58) "img url1"
          [1] =>
          string(58) "img url2"
          [2] =>
          string(94) "img url3"
        }
      }
    }
    [1] =>
    array(5) {
...

You can also enable caching:

Feed::$cacheDir = __DIR__ . '/tmp';
Feed::$cacheExpire = '5 hours';

How to run unit test

Run with default setting.

% vendor/bin/phpunit -c phpunit.xml.dist

Currently tested with PHP 7.0.0

History

  • 1.0.1
    • Bug fix
  • 1.0.0
    • Published

License

Copyright (c) 2016 YUZURU SUZUKI. See MIT-LICENSE for further details.

Copyright

统计信息

  • 总下载量: 35.57k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 10
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 10
  • Watchers: 2
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-11-26