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’, ינתח אותו, וידפיס את כל הקישורים. זכור להחליף את ‘http://www.example.com’ ב-URL האמיתי שאתה רוצה לנתח.
בעזרת שיטות אלו, מפתחי PHP יכולים לנתח תוכן HTML ביעילות, להתאים את חילוץ הנתונים לצרכים שלהם, או לשלב תוכן אינטרנטי חיצוני בפרויקטים שלהם בחלקות.