PHP:
การวิเคราะห์ HTML
วิธีการ:
สำหรับการแยกวิเคราะห์ HTML, โปรแกรมเมอร์ PHP สามารถใช้ฟังก์ชันที่มีอยู่แล้วหรือพึ่งพาไลบรารีที่แข็งแกร่งเช่น Simple HTML DOM Parser ที่นี่ เราจะสำรวจตัวอย่างโดยใช้ DOMDocument
ของ PHP และ Simple HTML DOM Parser
การใช้ DOMDocument
:
คลาส DOMDocument
ของ PHP เป็นส่วนหนึ่งของส่วนขยาย DOM ทำให้สามารถแยกวิเคราะห์และจัดการเอกสาร HTML และ XML ได้ นี่คือตัวอย่างอย่างรวดเร็วในการใช้ DOMDocument
เพื่อค้นหารูปภาพทั้งหมดในเอกสาร HTML:
$html = <<<HTML
<!DOCTYPE html>
<html>
<head>
<title>หน้าตัวอย่าง</title>
</head>
<body>
<img src="image1.jpg" alt="รูปที่ 1">
<img src="image2.jpg" alt="รูปที่ 2">
</body>
</html>
HTML;
$doc = new DOMDocument();
@$doc->loadHTML($html);
$images = $doc->getElementsByTagName('img');
foreach ($images as $img) {
echo $img->getAttribute('src') . "\n";
}
ตัวอย่างผลลัพธ์:
image1.jpg
image2.jpg
การใช้ Simple HTML DOM Parser:
สำหรับงานที่ซับซ้อนขึ้นหรือไวยากรณ์ที่ง่ายขึ้น คุณอาจต้องการใช้ไลบรารีของบุคคลที่สาม Simple HTML DOM Parser เป็นตัวเลือกยอดนิยม ให้ส่วนติดต่อที่คล้ายกับ jQuery สำหรับการนำทางและจัดการโครงสร้าง HTML นี่คือวิธีการใช้งาน:
ก่อนอื่น, ติดตั้งไลบรารีโดยใช้ Composer:
composer require simple-html-dom/simple-html-dom
จากนั้น, จัดการ HTML เพื่อหาลิงค์ทั้งหมดเป็นตัวอย่าง:
require_once 'vendor/autoload.php';
use simplehtmldom\HtmlWeb;
$client = new HtmlWeb();
$html = $client->load('http://www.example.com');
foreach($html->find('a') as $element) {
echo $element->href . "\n";
}
ส่วนของโค้ดนี้จะดึงเนื้อหา HTML ของ ‘http://www.example.com’ มาวิเคราะห์และพิมพ์ลิงก์ทั้งหมดออกมา นำทางไปที่ URL ที่คุณต้องการวิเคราะห์แทนที่จะเป็น 'http://www.example.com'
โดยการใช้วิธีเหล่านี้ นักพัฒนา PHP สามารถวิเคราะห์เนื้อหา HTML อย่างมีประสิทธิภาพ ปรับแต่งการสกัดข้อมูลตามความต้องการของพวกเขา หรือรวมเนื้อหาเว็บภายนอกเข้ากับโปรเจกต์ของพวกเขาได้อย่างราบรื่น