Simple HTML DOM Parser มันคือ jQuery's selectors ดีๆ นี่เอง
ไปเจอของดีมาครับ เป็น PHP Library ที่ทำงานในลักษณะ คล้ายๆกับ Selectors ของ jQuery แต่ว่าเป็น PHP ซึ่งเรียกให้ถูกมันก็คือ HTML DOM Parser น่ะแหละครับ ซึ่งการใช้งานค่อนข้างง่าย เล่นเอาลืม Regexp ไปเลย
เดี๋ยวนี้ เว็บไซด์ส่วนใหญ่นั้น จะเขียนกันในรูปแบบ XHTML ซึ่งมักจะมาการระบุ Class หรือ Id ให้กับ Elements เกือบทั้งหมดอยู่แล้ว ซึ่งบางที ถ้าเราจะทำการ Get Content ที่อยู่ในช่วง tag ของมัน เราก็มักจะใช้ความสามารถของ Regular Expression (Regexp) โดยส่วนใหญ่ แต่.....
ชีวิตคุณจะสบายขึ้น ถ้าไปรู้จักกับ Lib ตัวนี้ ที่จะไม่ต้องมานั่งปวดหัวกับการคิด regexp อีกต่อไป เพราะว่า มันเขียนมาให้เกือบหมดแล้ว
เท่าที่ไปลองไล่ lib มาก็เห็นว่าใช้ความสามารถของ regexp เหมือนกัน แต่ทว่า มันเขียบนได้ เทพ แท้ๆ เลยครับ
อย่่างสมมุติผมจะภาพทั้งหมดจาก Google ผมก็เขียนแค่
นอกจจากนี้มันยังทำกาเปลี่ยนแก้ไขค่าได้อย่างสะดวก เช่น
ดึงแค่ text โดยตัด HTML Tags
เดี๋ยวนี้ เว็บไซด์ส่วนใหญ่นั้น จะเขียนกันในรูปแบบ XHTML ซึ่งมักจะมาการระบุ Class หรือ Id ให้กับ Elements เกือบทั้งหมดอยู่แล้ว ซึ่งบางที ถ้าเราจะทำการ Get Content ที่อยู่ในช่วง tag ของมัน เราก็มักจะใช้ความสามารถของ Regular Expression (Regexp) โดยส่วนใหญ่ แต่.....
ชีวิตคุณจะสบายขึ้น ถ้าไปรู้จักกับ Lib ตัวนี้ ที่จะไม่ต้องมานั่งปวดหัวกับการคิด regexp อีกต่อไป เพราะว่า มันเขียนมาให้เกือบหมดแล้ว
เท่าที่ไปลองไล่ lib มาก็เห็นว่าใช้ความสามารถของ regexp เหมือนกัน แต่ทว่า มันเขียบนได้ เทพ แท้ๆ เลยครับ
อย่่างสมมุติผมจะภาพทั้งหมดจาก Google ผมก็เขียนแค่
<?php include(’simple_html_dom.php’); $dom = file_get_html(‘http://www.google.com’); foreach ($dom->find(‘img’) as $elm) echo $elm->src." "; ?>
นอกจจากนี้มันยังทำกาเปลี่ยนแก้ไขค่าได้อย่างสะดวก เช่น
<?php // edit class $dom->find(‘div[id=hello]‘, 0)->class = "newclassname"; // edit inner html $dom->find(‘div’, 1)->innertext = "new content"; // PS. 0, 1 are index of elements ?>
ดึงแค่ text โดยตัด HTML Tags
<?php echo file_get_html(‘http://www.google.com/’)->plaintext; ?>
นอกจากนี้ยังทำงานได้อีกเพียบเช่น หา Children, childNodes, parent, siblings เรียกว่า เมพ ขิงๆ ได้เลยทีเดียว
Recommended by: K.Auttasak
Download: http://simplehtmldom.sourceforge.net/
API Reference: http://simplehtmldom.sourceforge.net/manual_api.htm

0 comments