Rumah > pembangunan bahagian belakang > tutorial php > Ungkapan Biasa PHP: Bagaimana untuk memadankan semua tajuk dalam HTML

Ungkapan Biasa PHP: Bagaimana untuk memadankan semua tajuk dalam HTML

WBOY
Lepaskan: 2023-06-22 22:20:01
asal
1209 orang telah melayarinya

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:

  1. h1 ~ h6 tags : digunakan untuk menunjukkan tahap tajuk, h1 adalah yang tertinggi dan h6 adalah yang terendah; 🎜>meta tag: digunakan untuk mentakrifkan meta halaman web Data, selalunya digunakan dalam pengoptimuman enjin carian.
  2. 2. Ungkapan Biasa PHP
  3. Ungkapan biasa ialah alat carian dan pengganti yang berkuasa yang boleh memproses rentetan teks dengan berkesan. Dalam PHP, kita boleh menggunakan preg_match(), preg_match_all(), preg_replace() dan fungsi lain untuk melaksanakan padanan ungkapan biasa.

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;
  1. ^: sepadan dengan permulaan rentetan; sebarang nombor Aksara;
  2. +: sepadan dengan sekurang-kurangnya satu aksara sebelumnya; 🎜 >
  3. (): Himpunkan ungkapan untuk operasi seterusnya.
  4. 3. Padankan semua tajuk dalam HTML
  5. Di bawah ini kami akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk memadankan pelbagai jenis tajuk dalam halaman HTML.
  6. h1 ~ h6 tag
  7. Mula-mula, mari lihat cara memadankan tajuk dalam h1 ~ h6 tag. Katakan kita mempunyai kod HTML berikut:
  8. <!DOCTYPE html>
    <html>
    <head>
        <title>HTML 标题示例</title>
    </head>
    <body>
        <h1>这是一级标题</h1>
        <h2>这是二级标题</h2>
        <h3>这是三级标题</h3>
        <h4>这是四级标题</h4>
        <h5>这是五级标题</h5>
        <h6>这是六级标题</h6>
    </body>
    </html>
    Salin selepas log masuk
  9. Kita boleh menggunakan fungsi preg_match_all() dan ungkapan biasa
  10. untuk mengekstrak semua tajuk di dalamnya:
  11. $html = file_get_contents('example.html');
    preg_match_all('/<h[1-6]>(.*?)</h[1-6]>/', $html, $matches);
    print_r($matches[0]);
    Salin selepas log masuk
  12. Dalam kod di atas, kami menggunakan fungsi file_get_contents() membaca kandungan fail HTML, dan kemudian menggunakan fungsi preg_match_all() dan ungkapan biasa
untuk memadankan tajuk h1 ~ h6.

dalam ungkapan biasa bermaksud memadankan rentetan di dalam teg h1 ~ h6, dengan

bermaksud mod tidak tamak, memadankan sesedikit aksara yang mungkin.
  1. Hasil output adalah seperti berikut:
  2. Array
    (
        [0] => <h1>这是一级标题</h1>
        [1] => <h2>这是二级标题</h2>
        [2] => <h3>这是三级标题</h3>
        [3] => <h4>这是四级标题</h4>
        [4] => <h5>这是五级标题</h5>
        [5] => <h6>这是六级标题</h6>
    )
    Salin selepas log masuk
Seperti yang anda lihat, kami berjaya memadankan semua tajuk h1 ~ h6 dalam halaman HTML.

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>
Salin selepas log masuk

Kita boleh menggunakan fungsi preg_match() dan ungkapan biasa

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];
Salin selepas log masuk
(.*?)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.
  1. Hasil output adalah seperti berikut:
  2. HTML 标题示例
    Salin selepas log masuk
Seperti yang anda lihat, kami berjaya memadankan tajuk web halaman 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>
Salin selepas log masuk

Kita boleh menggunakan fungsi preg_match_all() dan ungkapan biasa

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]);
Salin selepas log masuk
(.*?)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.

    Hasil output adalah seperti berikut:
  1. Array
    (
        [0] => <meta name="keywords" content="HTML,标题,元数据">
    )
    Salin selepas log masuk
    Seperti yang anda lihat, kami berjaya memadankan metadata kata kunci dalam halaman 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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan