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 อย่างมีประสิทธิภาพ ปรับแต่งการสกัดข้อมูลตามความต้องการของพวกเขา หรือรวมเนื้อหาเว็บภายนอกเข้ากับโปรเจกต์ของพวกเขาได้อย่างราบรื่น