สอบถามเรื่องการใช้งาน DOM

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถามเรื่องการใช้งาน DOM

สอบถามเรื่องการใช้งาน DOM
สอบถามเรื่องการเขียน DOM หน่อยครับ
 
ผมเขียนโค๊ดเพื่อจะดึงข้อมูลจากเว็บมาแบบนี้
 
$DOM = new DOMDocument('1.0','utf-8');
$DOM->loadHTML('<meta http-equiv="content-type" content="text/html; charset=utf-8">'.$str);
 
$items = $DOM->getElementsByTagName('div');
 
for ($i = 0; $i < $items->length; $i++){
   
echo $items->item($i)->nodeValue."<br/>";   
      
}
 
****ข้อมูลใน $str****
 
<div class="pin-item">
        <div class="pin-title">
<a href="/topic/32602481" target="_blank">ทดสอบ ปักหมุด 1</a> 
</div>
</div>
 
<div class="pin-item">
        <div class="pin-title">
<a href="/topic/32602481" target="_blank">ทดสอบ ปักหมุด 2</a> 
</div>
</div>
 
<div class="pin-item">
        <div class="pin-title">
<a href="/topic/32602481" target="_blank">ทดสอบ ปักหมุด 3</a> 
</div>
</div>
 
<div class="pin-item">
        <div class="pin-title">
<a href="/topic/32602481" target="_blank">ทดสอบ ปักหมุด 4</a> 
</div>
</div>
 
<div class="pin-item">
        <div class="pin-title">
<a href="/topic/32602481" target="_blank">ทดสอบ ปักหมุด 5</a> 
</div>
</div>
 
<div class="post-item  ">
    <div class="post-item-type">
<span class="icon-mini-posttype icon-mini-posttype-que grayscale"></span>
</div>
    <div class="post-item-title">
<a target="_blank" href="/topic/32620943">ทดสอบโพสที่ 1</a>
</div>
    <div class="post-item-by">
<span class="by-name">สมาชิกหมายเลข 1061414</span> - <span class="timestamp"> <abbr class="timeago" data-utime="09/24/2014 09:58:31" title="24 กันยายน 2557 เวลา  09:58:31 น."></abbr> </span>
    </div>
    <div class="post-item-footer">
<div class="post-item-taglist">
<div class="tag-item "> <a class="tag-title" href="/tag/น้ำมันเครื่อง" target="_blank"> 
<span data-tag="น้ำมันเครื่อง"> <em>น้ำมันเครื่อง</em> </span> </a> 
</div>
<div class="tag-item "> 
<a class="tag-title" href="/tag/รถยนต์" target="_blank"> <span data-tag="รถยนต์"> <em>รถยนต์</em> </span> </a> 
</div>
</div>
     </div>
</div>
 
*************************
แบบนี้อะครับ
ผลออกมาคือ มันออกข้อมูลทุกอย่างมาเลย
 
ทดสอบ ปักหมุด 1
ทดสอบ ปักหมุด 2
ทดสอบ ปักหมุด 3
ทดสอบ ปักหมุด 4
ทดสอบ ปักหมุด 5
ทดสอบโพสที่ 1
 
ถ้าผมจะกรองโดยแยกตามคลาส
class="pin-item"
แล้วเก็บ a href ไว้ใช้งานด้วย
ต้องทำยังไงอ่าครับ 
ลองมาหลายวิธีละ งง มาก 
รบกวนด้วยครับ


ืnickson 118.174.31.xxx 24-09-2014 11:09:55

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ


  • ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
ลองดูตัวนี้เป้นแนวทาง

แนะนำ PHP Simple HTML DOM Parser สำหรับ ดึงข้อมูล เฉพาะส่วนที่ต้องการ 


ninenik 124.122.166.xxx 24-09-2014
 ความคิดเห็นที่ 2
พอมีไฟล์ ให้ลองไหมครับ
ผมลองทำตามแล้วผลไม่ออก

ไฟล์ที่ลองดึงข้อมูลได้ตั้งแต่ <?php เลยอ่าครับ
ผมมือใหม่จริงๆ

ดึงข้อมูลจาก url นี้ ครับ http://dev-activity.com/DOM/testurl.htm


ืnickson 118.174.31.xxx 24-09-2014 11:43
 ความคิดเห็นที่ 3
ในตัวอย่าง วิธีใช้ คอ่นข้างละเอียด ลองอ่านดีๆ

ลองเอาตัวอย่างไปดูเป็นแนวทาง

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Din</title>
</head>
<body>
<?php
include("simple_html_dom.php");
// Create a DOM object from a URL
$html = file_get_html('http://dev-activity.com/DOM/testurl.htm');
$ret = $html->find('div.pin-title a');
foreach($ret as $v){
		echo $v."<br>";
}
?>
</body>
</html>


ninenik 124.122.166.xxx 24-09-2014
 ความคิดเห็นที่ 4
ขอรบกวนอีกหน่อยได้ไหมครับ
ผมไม่ผ่านตรงนี้
$ret = $html->find('div.pin-title a');  

http://dev-activity.com/DOM/test2.php



ืnickson 118.174.31.xxx 24-09-2014 14:31
 ความคิดเห็นที่ 5
http://dev-activity.com/DOM/test3.htm

อันนี้ก๊อปไปไม่ทำอะไรเลย เซพเป็น htm ครับ


ืnickson 118.174.31.xxx 24-09-2014 14:38
1 2 3 4 5 Next






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ