現在の位置: ホーム> 最新記事一覧> PHPでHTML DOMを解析して生成する方法:実用的な例チュートリアル

PHPでHTML DOMを解析して生成する方法:実用的な例チュートリアル

M66 2025-06-11

PHPでHTML DOMを解析して生成する:実用的な例チュートリアル

HTML Dom(Document Object Model)は、HTMLドキュメントを解析および操作するためのAPIです。これにより、開発者はHTMLドキュメントの構造、コンテンツ、プロパティにプログラム的にアクセスできます。 PHPには、HTML Domを簡単に解析して生成するのに役立つ一般的に使用されるライブラリがいくつかあります。この記事では、2つの一般的なライブラリに焦点を当てます:PHP Simple HTML Dom ParserとPHPQueryには、関連するコードの例があります。

1。PHPSimple HTML Dom Parser

PHP Simple HTML Dom Parserは、HTMLドキュメントを解析できる強力なツールです。 jQueryと同様のセレクター構文を使用して、HTMLドキュメントをより直感的に解析します。 PHP Simple HTML Dom Parserを使用して、HTMLドキュメントを解析する例を次に示します。

<?php
include('simple_html_dom.php');

// 新しいものを作成しますHTML DOM物体
$html = new simple_html_dom();

// からURL負荷HTML
$html-> load_file( &#39;http://example.com/page.html&#39;);

// selectorの構文を使用して要素$ element = $ html-> find( &#39;。class-name&#39;、0)を得るします。

//要素のテキストコンテンツを得る$ text = $ element-> innertext;

//出力結果echo $テキスト。

// html domオブジェクト$ html-> clear()をリリースします。
?>

上記のコードには、最初にSimple_html_dom.phpファイルが含まれ、次に新しいHTML DOMオブジェクトを作成し、 `load_file()`メソッドを使用して指定されたURLからHTMLドキュメントをロードします。次に、「class-name」を介してクラス「クラス名」を使用して最初の要素を取得します( '。クラス名'、0) `を取得し、最後に「innertext」属性を介して要素のテキストコンテンツを取得し、出力します。

2。phpquery

Phpqueryは、HTMLドキュメントを解析および操作するためのjQueryのようなAPIを提供するもう1つの強力なHTML解析ライブラリです。 phpqueryを使用してHTMLドキュメントを解析する例を次に示します。

<?php
require('phpQuery.php');

// 新しいものを作成しますPHPQuery物体
$document = phpQuery::newDocumentFileHTML('http://example.com/page.html');

// セレクターの構文を使用して要素を取得します
$element = $document-> find( &#39;。class-name&#39;) - > eq(0);

//要素のテキストコンテンツを得る$ text = $ element-> text();

//出力結果echo $テキスト。

// phpqueryオブジェクトをリリースしますphpquery :: unloaddocuments();
?>

このコードでは、最初にphpquery.phpファイルを含め、次に指定されたURLからhtmlドキュメントを `newdocumentfilehtml()`メソッドを介してロードします。その後、最初の `class-name`要素は` find( '。クラス名') - > eq(0) `によって取得され、` text() `メソッドを使用してテキストコンテンツを取得して出力します。

要約します

PHP Simple HTML Dom ParserまたはPHPQueryを使用するかどうかにかかわらず、HTML DOMを簡単に解析して生成できます。これらのライブラリは豊富なAPIを提供し、HTMLドキュメントの操作をよりシンプルで柔軟にします。セレクターの構文を使用すると、HTML要素を簡単に取得および操作できます。この記事のサンプルコードが、PHPでHTML Domを解析して生成する方法をよりよく理解するのに役立つことを願っています。