Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ungkapan Biasa PHP: Bagaimana untuk memadankan semua pautan imej dalam HTML

Ungkapan Biasa PHP: Bagaimana untuk memadankan semua pautan imej dalam HTML

PHPz
PHPzasal
2023-06-23 11:17:332191semak imbas

Dalam halaman HTML, kami selalunya perlu mengekstrak pautan imej untuk digunakan dalam situasi lain, atau melakukan beberapa muat turun imej, pemprosesan kelompok, dsb. Pada masa ini, ungkapan biasa PHP boleh membantu kami memadankan semua pautan imej dengan cepat dan tepat.

1. Analisis pautan imej dalam HTML

Dalam HTML, pautan imej biasanya muncul dalam bentuk a1f02c36ba31691bcfe87b2722de723b dan formatnya adalah seperti berikut:

rreee

Di mana, Atribut src menentukan alamat pautan imej. Secara amnya, format pautan imej adalah seperti berikut:

  1. Pautan relatif: /images/picture.jpg
  2. Pautan mutlak: https://www.example.com/ images/ picture.jpg
  3. Pautan dengan parameter: https://www.example.com/images/picture.jpg?size=large
  4. Pautan laluan relatif: ../images/picture .jpg

Kita perlu menulis ungkapan biasa untuk memadankan empat format pautan ini.

2. Pautan imej pemadanan ungkapan biasa PHP

Terdapat banyak jenis fungsi ungkapan biasa dalam PHP, antaranya preg_match() adalah yang paling biasa digunakan dan boleh digunakan untuk memadankan daripada teks Rentetan yang ditentukan. Berikut ialah ungkapan biasa yang boleh memadankan empat format pautan imej di atas:

<img src="image.jpg" alt="图片">

Ungkapan biasa ini terdiri daripada berbilang bahagian Mari kita terangkan satu persatu di bawah:

  1. < ; img.+?src= sepadan dengan teg a1f02c36ba31691bcfe87b2722de723b Antaranya, .+? bermaksud padanan tidak tamak mana-mana watak sehingga src ditemui.
  2. ['"] bermaksud tanda petikan, yang boleh memadankan tanda petikan berganda atau tanda petikan tunggal.
  3. (.+?) bermaksud memadankan mana-mana aksara sehingga tanda petikan seterusnya ditemui. Penangkapan kumpulan digunakan di sini, Anda boleh menggunakan panggilan tatasusunan $matches dalam kod berikutnya.*? Untuk mengekstrak semua pautan imej dalam HTML:
  4. $pattern = '/<img.+?src=['"](.+?)['"].*?>/';
    
  5. Dengan cara ini, kami boleh mendapatkan tatasusunan $imgUrls yang mengandungi semua pautan imej Jika anda mahu memadankan pautan imej sahaja dalam format tertentu, anda boleh menggunakan ungkapan biasa. Buat beberapa pengubahsuaian, seperti memadankan pautan mutlak sahaja:
  6. $html = file_get_contents('example.html'); // 读取 HTML 文件
    preg_match_all($pattern, $html, $matches); // 匹配链接
    $imgUrls = $matches[1]; // 获取匹配到的链接地址
    
Ungkapan biasa ini meningkatkan sekatan pengepala protokol http atau https dan hanya sepadan dengan pautan mutlak bermula dengan dua protokol ini

Ringkasan

Menggunakan ungkapan biasa PHP untuk memadankan pautan imej dalam HTML bukanlah perkara yang rumit Anda hanya perlu menulis ungkapan biasa yang sepadan mengikut format pautan, dan kemudian gunakan fungsi preg_match() untuk mengekstrak Ekstrak dengan cepat dan tepat. semua pautan Jika anda sering perlu mengekstrak kandungan lain daripada HTML, anda juga boleh mencapainya melalui kaedah yang serupa

.

Atas ialah kandungan terperinci Ungkapan Biasa PHP: Bagaimana untuk memadankan semua pautan imej dalam HTML. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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