PHP:
HTML পার্স করা

কিভাবে:

HTML পার্স করার জন্য, PHP প্রোগ্রামাররা বিল্ট-ইন ফাংশন ব্যবহার করতে পারেন অথবা রোবাস্ট লাইব্রেরি যেমন Simple HTML DOM Parser-এর উপর নির্ভর করতে পারেন। এখানে, আমরা PHP-র DOMDocument এবং Simple HTML DOM Parser ব্যবহার করে উদাহরণ বিশ্লেষণ করব।

DOMDocument ব্যবহার করে:

PHP-র DOMDocument ক্লাসটি এর 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 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";
}

এই কোড স্নিপেটটি ‘http://www.example.com’ এর HTML কনটেন্ট ফেচ করবে, পার্স করবে, এবং সব হাইপারলিংক প্রিন্ট করবে। মনে রাখবেন, ‘http://www.example.com’ কে আপনার পার্স করতে ইচ্ছুক URL-এ প্রতিস্থাপন করতে হবে।

এই পদ্ধতিগুলি ব্যবহার করে, PHP ডেভেলপাররা কার্যকরভাবে HTML কন্টেন্ট পার্স করতে, তাদের প্রয়োজনমত ডেটা এক্সট্রাকশন কাস্টমাইজ করতে, অথবা বহিরাগত ওয়েব কন্টেন্টকে তাদের প্রজেক্টে সহজে ইন্টিগ্রেট করতে পারে।