PHP:
Analiza składniowa HTML

Jak to zrobić:

Do parsowania HTML, programiści PHP mogą wykorzystać wbudowane funkcje lub opierać się na solidnych bibliotekach takich jak Simple HTML DOM Parser. Tutaj zbadamy przykłady używając zarówno klasy DOMDocument PHP, jak i Simple HTML DOM Parser.

Używanie DOMDocument:

Klasa DOMDocument w PHP jest częścią rozszerzenia DOM, umożliwiając parsowanie i manipulowanie dokumentami HTML i XML. Oto szybki przykład, jak użyć DOMDocument do znalezienia wszystkich obrazów w dokumencie HTML:

$html = <<<HTML
<!DOCTYPE html>
<html>
<head>
    <title>Przykładowa strona</title>
</head>
<body>
    <img src="image1.jpg" alt="Obraz 1">
    <img src="image2.jpg" alt="Obraz 2">
</body>
</html>
HTML;

$doc = new DOMDocument();
@$doc->loadHTML($html);
$images = $doc->getElementsByTagName('img');

foreach ($images as $img) {
    echo $img->getAttribute('src') . "\n";
}

Przykładowy wynik:

image1.jpg
image2.jpg

Używanie Simple HTML DOM Parser:

Do bardziej złożonych zadań lub łatwiejszej składni, można preferować użycie biblioteki zewnętrznej. Simple HTML DOM Parser jest popularnym wyborem, oferując interfejs podobny do jQuery do nawigowania i manipulowania strukturami HTML. Oto jak go użyć:

Najpierw zainstaluj bibliotekę za pomocą Composera:

composer require simple-html-dom/simple-html-dom

Następnie manipuluj HTML, aby na przykład odnaleźć wszystkie linki:

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";
}

Ten fragment kodu pobierze zawartość HTML z ‘http://www.example.com’, przeanalizuje ją i wydrukuje wszystkie hiperłącza. Pamiętaj, aby zamienić 'http://www.example.com' na faktyczny URL, który chcesz przeanalizować.

Wykorzystując te metody, programiści PHP mogą skutecznie parsować zawartość HTML, dostosowywać ekstrakcję danych do swoich potrzeb lub bezproblemowo integrować zewnętrzną zawartość internetową w swoich projektach.