کد PHP : دریافت و نمایش آخرین مطالب rss ، feed و خوراک وبسایت های دیگر با php

- visibility ٢١ mode_comment

شاید تا حالا دیدید که در وبسایت های مختلف، آخرین مطالب منتشر شده در سایت های دیگه رو نشون میدن . مثلا آخرین اخبار سیاسی رو از یک وبسایت نمایش میدن و آخرین اخبار اقتصادی رو از جای دیگه !

امروز می خوایم به شما بگیم که اینکار رو به چه شکل از طریق کد های php انجام بدید . برای اینکار فقط به آدرس rss ، feed و یا همون فایل خوراک سایت نیاز دارید . حتما تو وبسایت های مختلف آیکن زیر رو دیدید :

rss128

اگه یه توضیح مختصر بخوام بگم، این آیکن که معمولا با سایز کوچیک در وبسایت ها هست به فایلی لینک میشه که به اون خوراک سایت می گن . تو اون فایل خوراک آخرین مطالب اون وبسایت با ظاهری ساده و سبک وجود داره که بقیه برای دسترسی سریع به اون می تونن ازش استفاده کنن .

ما امروز می خوایم فقط با داشتن آدرس خوراک (هر سایتی) آخرین مطالبش رو از اون فایل بگیریم و در قالب یه باکس جالب مثل عکس زیر نمایش بدیم تا بتونیم آخرین مطالب هر وبسایتی رو توی وب خودمون داشته باشیم . در عکس زیر از خوراک سایت سون لرن استفاده شده تا لینک 5 مطلب آخرش نمایش داده بشه :

7lrsslast5

گام اول : ایجاد فایل کلاس php برای دریافت و نمایش لینک های rss

برای اینکه کار شما رو راحت کنم یه کلاس براتون آماده کردم. یه بار این فایل رو میسازید و بعدا می تونید مکررا از توابع درون اون برای نمایش محتوای rss سایت های مختلف استفاده کنید .

:: پس یه فایل به نام rss.class.php بسازید و کد زیر رو توش بزارید و ذخیره کنید :

این فایل باید فقط شامل همین کدها باشه . چیز دیگه ای بهش اضافه نکنید . این فایل شامل یه کلاس php هست که بعضی متدها رو برای دریافت و نمایش لینکهای rss به شما میده . در گام بعدی به شما میگیم که به چه شکل از این کلاس استفاده کنید .

گام دوم : استفاده از کلاس فوق و نمایش لینکهای rss

حالا وقتشه که از کلاس بالا استفاده کنید . کافیه هر جا که بخواید باکس مربوط به لینک های rss سایت دیگه رو نمایش دید از 3 خط کد ساده ی زیر در فایل php خودتون استفاده کنید :

  •  در خط اول که در واقع همون کلاس بالا رو لود می کنیم تا ازش استفاده کنیم . دقت کنید که باید آدرس نسبی فایل بر روی سرور رو در دستور require_once بزارید .
  • در خط دوم آدرس فید و یا rss جایی که می خوایم مطالبش رو نمایش بدیم میزارم . دقت کنید که اون آدرس حتما باید آدرس rss ، feed ، atom و خوراک سایت باشه و نه آدرس خود سایت . در کد فوق آدرس فید سون لرن که به صورت http://7Learn.com/rss هست رو قرار دادیم .
  • در خط سوم هم که تعداد لینکهای نمایش داده و سرتیتر باکس رو وارد می کنیم . مثلا در کد بالا گفتیم 5 تا مطلب آخر سون لرن رو نمایش بده و عنوان بالای باکس هم 7Learn Last Posts باشه ! این تعدا و عنوان رو به صورت دلخواه می تونید مقادیر دیگه ای بزارید .

گام سوم : استایل دهی به باکس و لینک ها برای ایجاد ظاهری بهتر

تا الان اگه لینکها نمایش داده بشن ظاهرشون خیلی جالب نیست . برای اینکه با ظاهری بهتر اونها رو در صفحه ی وب ببینید کافیه کمی از کد های css کمک بگیرید .

می تونید کدهای css زیر رو هم در جایی که 3 خط فوق رو نوشتید به این شکل به فایل php دلخواهتون اضافه کنید تا همون ظاهری که در عکس بالا به رنگ قهوه ای براتون طراحی کردم رو داشته باشید :

می بینید که استایل ها رو درون تگ <style> و قبل از 3 خط کد نمایش لینک ها آوردیم . این ظاهر و رنگبندی رو با دستکاری و تغیر کدهای css خودتون می تونید به صورت دلخواه در بیارید .

برای اینکه لینک مطالب آموزشی طراحی وب و برنامه نویسی های سمت وب رو در سایتتون داشته باشید می تونید از همین کد و آرس فید سون لرن که به صورت http://7Learn.com/rss هست استفاده کنید !

امیدوارم که مورد استفادتون قرار گرفته باشه .

می تونید دمو رو در زیر ببینید و فایل ها رو هم دانلود کنید که نخواید از این پست کپی کنید .

comment دیدگاه کاربران
حسین

یک سوال دیگه هم داشتم جناب اوند ..

چجوری میتونم مثله این سایت اخبار زنده بسازم .. ضرف چند ثانیه تیتر جدیدترین اخبار لود میشه میاد اول صفحه قرار میگیره :

http://khabarkhoon.com/Live

لقمان آوند

خوب اونا حتما یه سری منابع رو دارند که مدام چک می کنند .
شما باید اون منابع رو داشته باشید . با ایجکس و استفاده از کتابخانه هایی مثل curl یا وبسرویس ها میشه پیاده سازی کرد .

علی اسدی

سلام
خدا قوت
می خواستم بدونم که آیا امکان داره یه کاری کنیم که متن اصلی خبرها در
خود وب سایت ما نشون داده بشه . مثلا وقتی کسی بر روی عنوان خبر کلیک
میکنه ، یه پاپ آپ باز بشه و خبر رو داخل پاپ آپ بخونه
ممنون

لقمان آوند

میشع ولی باید کد نویسیشو تغیر بدید…

ممنون بابت این آموزش ، وبسایت بسیار خوبی دارید …
موفق باشید

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.
1 2