ปกติจะใช้คำสั่ง
$feed = curl_init('url feed ของเว็บที่ต้องการ'); // เช่น
https://www.klongmuang-krabi.com/feedแล้วใช้คำสั่ง curl เพื่อดึงเนื้อหาเข้าตัวแปร contents
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$contents = curl_exec($feed);
curl_close($feed);
// ดึงค่าลงมาเก็บในตัวแปร xml ด้วยคำสั่ง SimpleXmlElement
$xml = new SimpleXmlElement($contents );
// จบการดึงค่ามาเก็บ
--------
ปกติถ้าเว็บไหนป้องกัน curl ไว้ เราสามารถใช้คำสั่ง simplexml_load_file ได้เลยโดยไม่ต้องใช้ curl เช่น
$feed = curl_init('url feed ของเว็บที่ต้องการ');
$xml = simplexml_load_file($feed);
// จบการดึงค่ามาเก็บในตัวแปร xml แบบไม่ใช้ curl
-------
ทีนี้เอาค่าต่าง ๆ มากรองแล้วแสดงผล ด้วย loop for เพื่ออ่านค่าทั้งหมดที่มี ใช้ code ดังนี้
----------
for($i=0; $i<count($xml->channel->item); $i++)
{
$url = $xml->channel->item[$i]->link;
$title = $xml->channel->item[$i]->title;
$description = $xml->channel->item[$i]->description;
$start1 = strpos($description, '<p>The post');
$length1 = strlen($description) - $start1;
$text1 = substr_replace($description, '', $start1, $length1);
// ตัดคำตั้งแต่ค่าแรกจนถึง </p> และ </div> เพื่อแยกคำ
$cut1 = strrpos($text1,'</div>');
$cut2 = strrpos($text1,'<p>');
$cut3 = strrpos($text1,'</p>');
// แยกภาพ และเนื้อหา ออกมาเก็บไว้ในตัวแปร
$image[$i] = substr($text1,5,$cut1); // ปกติตัดตั้งแต่ <div>ภาพ</div>
$text2[$i] = substr($text1,$cut2,$cut3); // ตัดข้อความตั้งแต่ <p>ข้อความ</p>
$the_title[$i]=$title;
$the_url[$i]=$url;
}
---------
จบคำสั่งแยกข้อมูลที่ต้องการ และเก็บไว้ในตัวแปรแล้ว ทีนี้เราก็เอาค่าที่ได้ไปแสดงตามที่ต้องการได้เลย
เวลาจะแสดงผล ก็ใช้คำสั่งดังนี้
for ($rows=0; $rows<10; $rows++) { // ให้แสดงข้อมูล 10 รายการ ตั้งแต่ 0-9
echo '<div><a href="'.$the_url[$rows].'" target="_blank">';
echo '<h2>'.$the_title[$rows].'</h2>';
echo '<div>'.$image[$rows].'</div>';
echo '<p>'.$text2[$rows],3,300,"UTF-8").'</p>';
echo '</a></div>';
}
// จบการแสดงผล
-------------
ส่วนตัวแปร $cut ต่าง ๆ ถ้าใครเก่งโปรแกรมก็ดัดแปลงแก้ไข code ได้ตามสะดวกจ้า เขียนเอาไว้แบบดิบ ๆ ซึ่งตัวแปรที่ได้ก็จะมี
1. $image[$i] อันนี้เป็นภาพแต่ละหัวข้อ
2. $text2[$i] อันนี้เป็นเนื้อหาตั้งแต่ <p>ไปจนสุด</p>
3. $the_title[$i] อันนี้คือหัวข้อเรื่องแต่ละเรื่อย
4. $the_url[$i] อันนี้คือ url ของเรื่อง
ใครนำไปใช้แล้วดี บอกต่อด้วยนะ
ตัวอย่างการดึงข้อมูล feed จาก
https://krabi.vwander.com/feed มาแสดงในหน้านี้
https://www.klongmuang-krabi.com/the-best-province.htmlจำนวน 9 รายการ ในตำแหน่งด้านล่างของ post บน wordpress
ซึ่งสามารถทำได้ ง่ายมาก ๆ ไม่ต้องมี plugin เลย เราสามารถจัดรูปแบบได้ตามต้องการของ theme ที่ใช้