
ผมเห็นด้วยนะครับ กับ การที่ เราควรจะใช้ curl ในการ ตัดต่อ หน้าแสดงผลจากเว็บอื่น เพื่อ มาแสดงผลในเว็บของเรา หรือ อาจจะใช้ เป็น RSS แทนการ ดูดข้อมูลจากเว็บอื่น มาตรงๆ (มันไม่เหมาะสม และอาจโดนฟ้องได้ครับ)
ซึ่ง การดึง บางส่วนของหน้า เว็บไซต์ บทความอื่นๆ มาแสดง ผล นั้น เราอาจจะต้องมีการ ตัดต่อ ข้อมูล ของหน้าเว็บ ด้วย อันนี้จำเป็นจะต้อง มีความรู้และความเข้าใจในเรื่องของ โครงสร้าง Document Object Model ของเอกสาร HTML ด้วยนะครับ เราถึงจะตัดต่อหน้าเว็บได้อย่าง มีประสิทธิภาพ
ใน ส่วนนี้ผมจะขอสาธิต ตัวอย่างการ ตัดต่อ หน้าเว็บ ของ เว็บไซต์
http://www.4guysfromrolla.com/webtech/index_asp.shtml
เพื่อ นำมาแสดง ข้อมูล ในเว็บไซต์ของเรา และ มีการ ตัดต่อ Dom เพื่อ เลือกหัวข้อได้ เป็น การทำแบบง่ายๆ โดยการใช้ extension cure ของ PHP เป็นตัวช่วยนะครับ
// การใช้ curl ของ php จำเป็นจะต้อง เปิดไฟล์ php.ini ซึ่งเป็นตัว configuration ของ php จะอยู่ใน C:\windows ครับ
// เมื่อเปิดไฟล์ php.ini แล้วให้หา บรรทัดที่เขียนว่า
;extension=php_curl.dll
จากนั้นทำการ เอาเครื่องหมาย ; หน้าextionsion ออก ให้เหลือ extension=php_curl.dll เท่านั้น
เมื่อเตรียมการพร้อมแล้ว นำโคด นี้ไปใส่ได้เลยครับ
<?php
$url="http://www.4guysfromrolla.com/webtech/";
if ($viewcat<>"")
$url.=$viewcat;
else
$url.="index_asp.shtml";
function replaceLink($data){
$data = ereg_replace('<a href="/webtech/','<a href="aspnet_article.php?viewcat=',$data);
return $data;
}
function callArticle(){
global $url;
$user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
// $params = "";
// $url .="?".$params;
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST,0);
//curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
$result = curl_exec($ch);
$start_result = strpos($result,"<!--content_start-->");
$end_result = strpos($result,"<P><CENTER>",$start_result+11);
$substring .= substr($result,$start_result,$end_result-$start_result);
curl_close ($ch);
return replaceLink($substring);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620">
</HEAD>
<BODY>
<h2>การตัดต่อ Article http://www.4guysfromrolla.com/webtech/index_asp.shtml <br>ผลลัพธ์ที่ได้คือ </h2><hr>
<?php
echo callArticle();
?>
</BODY>
</HTML>
ขอให้สนุกกับการศึกษาเพิ่มเติมนะครับ