正規表現を使用して HTML タイトルを照合することは、PHP では一般的な操作です。 Web ページのタイトルは通常、ページの一般的な内容を表示するために使用され、ユーザーが理解しやすく、閲覧しやすくなります。場合によっては、後続の処理のために HTML からすべてのタイトルを抽出する必要があります。
この記事では、PHP 正規表現を使用して、HTML 内のすべてのタイトルを迅速かつ効果的に抽出する方法を紹介します。
1. HTML タイトルの分類
HTML ページにはさまざまな種類のタイトルがあり、次のタグを使用して定義できます:
2. PHP 正規表現
正規表現は、テキスト文字列を効果的に処理できる強力な検索および置換ツールです。 PHP では、preg_match()、preg_match_all()、preg_replace() およびその他の関数を使用して正規表現マッチングを実装できます。
一般的に使用される正規表現構文の一部を次に示します:
3. HTML 内のすべてのタイトルと一致する
以下では、PHP 正規表現を使用して HTML ページ内のさまざまな種類のタイトルを一致させる方法を紹介します。
まず、h1~h6タグのタイトルを一致させる方法を見てみましょう。次の HTML コードがあるとします。
<!DOCTYPE html> <html> <head> <title>HTML 标题示例</title> </head> <body> <h1>这是一级标题</h1> <h2>这是二级标题</h2> <h3>这是三级标题</h3> <h4>这是四级标题</h4> <h5>这是五级标题</h5> <h6>这是六级标题</h6> </body> </html>
preg_match_all() 関数と正規表現を使用できます/<h[1-6]>(.*?)</h[ 1-6]>/
、すべてのタイトルを抽出するには:
$html = file_get_contents('example.html'); preg_match_all('/<h[1-6]>(.*?)</h[1-6]>/', $html, $matches); print_r($matches[0]);
上記のコードでは、file_get_contents() 関数を使用して HTML ファイルのコンテンツを読み取り、次に preg_match_all() を使用します。関数と正規表現 h1 ~ h6 のタイトルに一致する数式 /<h[1-6]>(.*?)</h[1-6]>/
。正規表現の
/<h[1-6]>(.*?)</h[1-6]>/
は、h1 ~ 文字列と一致することを意味しますh6 タグ内で、(.*?)
は非貪欲モードを表し、可能な限り少数の文字と一致します。
出力結果は次のとおりです。
Array ( [0] => <h1>这是一级标题</h1> [1] => <h2>这是二级标题</h2> [2] => <h3>这是三级标题</h3> [3] => <h4>这是四级标题</h4> [4] => <h5>这是五级标题</h5> [5] => <h6>这是六级标题</h6> )
ご覧のとおり、HTML ページ内の h1 ~ h6 のすべてのタイトルが正常に一致しました。
次に、title タグで Web ページのタイトルを一致させる方法を見てみましょう。次の HTML コードがあるとします。
<!DOCTYPE html> <html> <head> <title>HTML 标题示例</title> </head> <body> <h1>这是一级标题</h1> <p>段落内容</p> <h2>这是二级标题</h2> <p>段落内容</p> </body> </html>
preg_match() 関数と正規表現 /<title>(.*?)</title>/
を使用できます。 Web ページのタイトルを抽出するには:
$html = file_get_contents('example.html'); preg_match('/<title>(.*?)</title>/', $html, $matches); echo $matches[1];
上記のコードでは、file_get_contents() 関数を使用して HTML ファイルのコンテンツを読み取り、preg_match() 関数と正規表現を使用します/<title> ;(.* ?)</title>/
は、title タグと一致します。正規表現の
/<title>(.*?)</title>/
は、title タグ内の文字列と一致することを意味します。ここで、(.* ?)
は、非貪欲モードを示し、可能な限り少数の文字と一致します。
出力結果は次のとおりです。
HTML 标题示例
ご覧のとおり、HTML ページの Web ページ タイトルと一致することができました。
最後に、メタ タグ内のメタデータを照合する方法を見てみましょう。次の HTML コードがあるとします。
<!DOCTYPE html> <html> <head> <title>HTML 标题示例</title> <meta charset="utf-8"> <meta name="keywords" content="HTML,标题,元数据"> <meta name="description" content="HTML 标题示例 - 一个简单的 HTML 页面,包含多种类型的标题和元数据。"> </head> <body> <h1>这是一级标题</h1> <p>段落内容</p> <h2>这是二级标题</h2> <p>段落内容</p> </body> </html>
preg_match_all() 関数と正規表現を使用できます/<metas ([^>] s)*names*=s*([' "]?)keywords ([^>] s)*>/
、キーワードのメタデータを抽出します:
$html = file_get_contents('example.html'); preg_match_all('/<metas+([^>]+s)*names*=s*(['"]?)keywords([^>]+s)*>/', $html, $matches); print_r($matches[0]);
上記のコードでは、file_get_contents() 関数を使用して HTML ファイルを読み取ります。コンテンツを検索し、preg_match_all() 関数と正規表現 /<metas ([^>] s)*names*=s*(['"]?)keywords ([^>] s) を使用します。 *>/
キーワードのメタデータと一致します。
/<metas ([^>] s)*names*=s*(['"]?)keywords ([^>] s)* 正規表現 >/
は、name 属性がキーワードであるメタ タグ内の文字列と一致することを意味します。
出力結果は次のとおりです:
Array ( [0] => <meta name="keywords" content="HTML,标题,元数据"> )
ご覧のとおり、キーワード メタデータとの一致に成功しました。
4. 概要
この記事では、PHP 正規表現を使用して、HTML ページ内のさまざまなタイプのタイトルを照合する方法を紹介します。 ) を正規表現の構文とルールと組み合わせることで、後続の処理と分析のために HTML コード内の関連情報を簡単に抽出できます。
以上がPHP 正規表現: HTML のすべての見出しを一致させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。