การดึงข้อมูลจากหน้าเว็บไซต์นั้น ปกติแล้วเรามักจะนิยมใช้งานกันผ่านภาษา XML หรือที่รู้จักกันดีคือ RSS Feed ซึ่งทางเว็บผู้เป็นเจ้าของข้อมูลจะเตรียม RSS Feed เอาไว้ให้เราดึงไปใช้งานกัน บางเจ้ามีการโต้ตอบระหว่างผู้ที่ดึงไปจนถึงขั้นทำเป็น API เลยก็มี
แต่ก็มีกรณีนึงคือทางเจ้าของข้อมูลไม่ได้เตรียม RSS Feed ไว้ให้ และเราต้องการดึงข้อมูลเหล่านั้นมาใช้งาน ไม่ว่าเจ้าของจะเต็มใจหรือไม่ก็ตาม ซึ่งวิธีการที่นิยมทั่วไปคือผ่านฟังก์ชั่นอย่าง file_get_contents ซึ่งเราจะได้ข้อมูลมาทั้งหน้า แล้วนำมาตัดด้วยวิธีการที่นิยมอย่าง Regular Expression แล้วนำข้อมูลที่ได้ไปแสดงผล

htmlSQL เป็นชุดคำสั่งภาษา PHP ที่ออกแบบมาใช้สำหรับดึงข้อมูลจากไฟล์หรือหน้าเว็บไซต์ต่างๆด้วยวิธีการ Regular Expression แต่จุดเด่นของมันคือได้ออกแบบคำสั่งในการเรียกใช้งานในรูปแบบที่เราคุ้นเคยกันเป็นอย่างดีนั่นคือในรูปแบบของภาษา SQL
โดยสำหรับชุดคำสั่ง htmlSQL นี้ทางผู้พัฒนาเขาได้ทำเอาไว้ตั้งแต่ปี 2006 ซึ่งก็ไม่มีอะไรการันตีได้ว่าจะมีปัญหากับพวกเทคโนโลยีใหม่ๆหรือป่าว และเขาก็จะไม่ช่วยเหลือหรือพัฒนามันต่อ (รึป่าว) โดยทางผู้พัฒนาแนะนำว่าให้ใช้เป็นตัวอย่างในการศึกษา ส่วนถ้าจะใช้งานกันจริงๆจังเขาบอกว่าไปลองหาตัวอื่นใช้งานกัน (มีแบบนี้ด้วย)
การใช้งานของเจ้า htmlSQL นี้ก็ไม่ยุ่งยากครับก่อนอื่นให้เราไปโหลดไฟล์มันมาก่อนที่ htmlsql-v0.5.zip และแตกไฟล์รอเอาไว้ จากนั้นในไฟล์ที่เราต้องการใช้งานให้เราเรียกคำสั่งเข้าไปผ่านทาง include แบบนี้ได้เลยครับ
<?php
include('snoopy.class.php');
include('htmlsql.class.php');
?>
จากนั้นทำการประกาศคลาสเจ้า htmlSQL ขึ้นมา
<?php
include_once("snoopy.class.php");
include_once("htmlsql.class.php");
$wsql = new htmlsql();
?>
จากนั้นทำการดึงข้อมูลจากตามตัวอย่าง
<?php
include_once("snoopy.class.php");
include_once("htmlsql.class.php");
$wsql = new htmlsql();
if (!$wsql->connect('url', 'http://codedump.jonasjohn.de/')){
print 'Error while connecting: ' . $wsql->error;
exit;
}
if (!$wsql->query('SELECT * FROM a WHERE $class == "nav_item"')){
print "Query error: " . $wsql->error;
exit;
}
foreach($wsql->fetch_array() as $row){
print_r($row);
}
?>
เท่านี้เป็นอันเสร็จเรียบร้อย ซึ่งในไฟล์ที่ดาวน์โหลดมานั้นก็มีตัวอย่างแนบมาให้มากถึง 12 แบบด้วยกัน เพื่อนๆสามารถศึกษาตามตัวอย่างได้เลย





