Dengan perkembangan Internet, RSS telah menjadi cara popular untuk melanggan maklumat. Fungsi langganan RSS boleh dilaksanakan dengan mudah menggunakan PHP, membolehkan pengguna mendapatkan maklumat terkini dengan lebih mudah.
1. Cipta jadual pangkalan data
Sebelum melaksanakan fungsi langganan RSS, anda perlu mencipta jadual dalam pangkalan data untuk menyimpan maklumat sumber RSS yang dilanggan oleh pengguna. Borang tersebut mengandungi empat medan: ID, URL, tajuk dan penerangan Struktur khusus adalah seperti berikut:
CREATE TABLE `feed` ( `id` int(11) NOT NULL AUTO_INCREMENT, `url` varchar(255) NOT NULL, `title` varchar(255) NOT NULL, `description` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2. Tulis kod langganan
Seterusnya, kita perlu menulis kod PHP untuk melaksanakan fungsi langganan dan paparan pengguna. kandungan RSS. Pertama, kami mentakrifkan kelas RSS untuk mendapatkan dan menghuraikan fail XML:
class RSS { private $url; public function __construct($url) { $this->url = $url; } public function get_feed() { $xml = simplexml_load_file($this->url); $feed = array( 'title' => (string) $xml->channel->title, 'description' => (string) $xml->channel->description, 'items' => array(), ); foreach($xml->channel->item as $item) { $feed['items'][] = array( 'title' => (string) $item->title, 'description' => (string) $item->description, 'link' => (string) $item->link, 'date' => (string) $item->pubDate, ); } return $feed; } }
Dalam kelas ini, kami menggunakan fungsi simplexml_load_file untuk memuatkan fail XML dan menghuraikan tajuk, penerangan dan senarai artikel. Pada halaman langganan, kami boleh membuat instantiate kelas ini berdasarkan URL langganan dan memanggil kaedah get_feed untuk mendapatkan kandungan RSS.
require_once('RSS.class.php'); // 获取订阅的 ID $id = $_GET['id']; // 连接数据库 $mysqli = new mysqli('localhost', 'user', 'password', 'dbname'); // 获取订阅的 URL $res = $mysqli->query("SELECT url FROM feed WHERE id = $id"); $url = $res->fetch_assoc()['url']; // 实例化 RSS 类 $rss = new RSS($url); // 获取 RSS 内容 $feed = $rss->get_feed(); // 显示 RSS 内容 foreach($feed['items'] as $item) { echo '<p>'; echo '<a href="' . $item['link'] . '">' . $item['title'] . '</a><br>'; echo $item['description'] . '<br>'; echo $item['date']; echo '</p>'; }
Dalam kod ini, kami mula-mula mendapat nilai ID langganan daripada parameter URL, kemudian menyambung ke pangkalan data dan bertanyakan URL yang sepadan. Seterusnya, kami membuat instantiate kelas RSS berdasarkan URL dan memanggil kaedah get_feed untuk mendapatkan kandungan RSS. Akhir sekali, kami mengulangi dan mencetak tajuk, penerangan, pautan, dan masa penerbitan setiap artikel.
3. Tambah suapan
Untuk pengguna menambah suapan, kami juga perlu menulis halaman untuk menambah suapan RSS baharu. Halaman ini mengandungi borang yang membolehkan pengguna memasukkan URL, tajuk dan perihalan langganan, dan kemudian memasukkan maklumat ini ke dalam pangkalan data:
if(isset($_POST['url'])) { $url = $_POST['url']; $title = $_POST['title']; $description = $_POST['description']; // 连接数据库 $mysqli = new mysqli('localhost', 'user', 'password', 'dbname'); // 插入订阅信息 $mysqli->query("INSERT INTO feed (url, title, description) VALUES ('$url', '$title', '$description')"); echo '添加成功!'; }
IV Ringkasan
Melalui pelaksanaan kod PHP di atas, kami berjaya melaksanakan asas Ciri Langganan RSS. Pengguna boleh menambah berbilang suapan RSS dan mendapatkan kandungan artikel terkini melalui halaman langganan. Pada masa yang sama, melalui reka bentuk pangkalan data yang mudah, kami hanya boleh bertanya, menambah dan memadam suapan untuk memenuhi keperluan pengguna dengan lebih baik.
Atas ialah kandungan terperinci Cara menggunakan PHP untuk melaksanakan fungsi langganan RSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!