Menggunakan ungkapan biasa untuk memadankan tajuk HTML ialah operasi biasa dalam PHP. Tajuk halaman web biasanya digunakan untuk memaparkan kandungan umum halaman, menjadikannya lebih mudah untuk pengguna memahami dan menyemak imbas. Dalam sesetengah kes, kita perlu mengekstrak semua tajuk daripada HTML untuk pemprosesan seterusnya.
Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk mengekstrak semua tajuk dalam HTML dengan cepat dan berkesan.
1. Klasifikasi tajuk HTML
Dalam halaman HTML, terdapat banyak jenis tajuk, yang boleh ditakrifkan menggunakan tag berikut:
Berikut ialah beberapa sintaks ungkapan biasa yang biasa digunakan:
d: sepadan dengan aksara angka; w: sepadan dengan aksara abjad angka dan garis bawah; >s: sepadan dengan aksara ruang putih;<!DOCTYPE html> <html> <head> <title>HTML 标题示例</title> </head> <body> <h1>这是一级标题</h1> <h2>这是二级标题</h2> <h3>这是三级标题</h3> <h4>这是四级标题</h4> <h5>这是五级标题</h5> <h6>这是六级标题</h6> </body> </html>
$html = file_get_contents('example.html'); preg_match_all('/<h[1-6]>(.*?)</h[1-6]>/', $html, $matches); print_r($matches[0]);
dalam ungkapan biasa bermaksud memadankan rentetan di dalam teg h1 ~ h6, dengan
bermaksud mod tidak tamak, memadankan sesedikit aksara yang mungkin.Array ( [0] => <h1>这是一级标题</h1> [1] => <h2>这是二级标题</h2> [2] => <h3>这是三级标题</h3> [3] => <h4>这是四级标题</h4> [4] => <h5>这是五级标题</h5> [5] => <h6>这是六级标题</h6> )
teg tajuk/<h[1-6]>(.*?)</h[1-6]>/
Seterusnya, mari lihat cara memadankan tajuk halaman web dalam teg tajuk. Katakan kita mempunyai kod HTML berikut: /<h[1-6]>(.*?)</h[1-6]>/
<!DOCTYPE html> <html> <head> <title>HTML 标题示例</title> </head> <body> <h1>这是一级标题</h1> <p>段落内容</p> <h2>这是二级标题</h2> <p>段落内容</p> </body> </html>
untuk mengekstrak tajuk halaman: /<h[1-6]>(.*?)</h[1-6]>/
$html = file_get_contents('example.html'); preg_match('/<title>(.*?)</title>/', $html, $matches); echo $matches[1];
(.*?)
Dalam kod di atas, kami menggunakan The Fungsi file_get_contents() membaca kandungan fail HTML, dan kemudian menggunakan fungsi preg_match() dan ungkapan biasa untuk memadankan teg tajuk. dalam ungkapan biasa bermaksud memadankan rentetan di dalam teg tajuk, dengan
bermaksud mod tidak tamak, memadankan sesedikit aksara yang mungkin.HTML 标题示例
teg meta/<title>(.*?)</title>/
Akhir sekali, mari lihat cara memadankan metadata dalam teg meta. Katakan kita mempunyai kod HTML berikut: /<title>(.*?)</title>/
<!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>
untuk mengekstrak metadata kata kunci: /<title>(.*?)</title>/
$html = file_get_contents('example.html'); preg_match_all('/<metas+([^>]+s)*names*=s*(['"]?)keywords([^>]+s)*>/', $html, $matches); print_r($matches[0]);
(.*?)
Dalam kod di atas, Kami menggunakan file_get_contents() berfungsi untuk membaca kandungan fail HTML, dan kemudian gunakan fungsi preg_match_all() dan ungkapan biasa untuk memadankan metadata kata kunci. dalam ungkapan biasa bermaksud memadankan rentetan di dalam teg meta yang atribut namanya ialah kata kunci.
Array ( [0] => <meta name="keywords" content="HTML,标题,元数据"> )
4. Ringkasan
Artikel ini memperkenalkan cara menggunakan ungkapan biasa PHP untuk memadankan pelbagai jenis tajuk dalam halaman HTML. Dengan menggunakan preg_match(), preg_match_all(), preg_replace() dan fungsi lain, digabungkan dengan sintaks dan peraturan ungkapan biasa, kami boleh mengekstrak maklumat yang berkaitan dengan mudah dalam kod HTML untuk pemprosesan dan analisis seterusnya. /<metas+([^>]+s)*names*=s*(['"]?)keywords([^>]+s)*>/
Atas ialah kandungan terperinci Ungkapan Biasa PHP: Bagaimana untuk memadankan semua tajuk dalam HTML. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!