Rumah > pembangunan bahagian belakang > tutorial php > Amalan ungkapan biasa PHP: pautan imej yang sepadan

Amalan ungkapan biasa PHP: pautan imej yang sepadan

WBOY
Lepaskan: 2023-06-23 08:40:01
asal
1657 orang telah melayarinya

Dalam proses pembangunan web, kami selalunya perlu mengekstrak pautan imej daripada artikel untuk memaparkan imej atau menyimpannya secara setempat. Pada masa ini, ungkapan biasa menjadi alat penting. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk memadankan pautan imej dan menjalankan latihan praktikal melalui kod sampel.

1. Peraturan pemadanan untuk pautan imej

Dalam halaman web yang sangat kompleks dan boleh diubah, format pautan imej berbeza-beza. Berikut ialah beberapa format pautan imej biasa:

  1. Format laluan relatif

  1. Format laluan mutlak

  1. Format dengan kelas, lebar, tinggi dan atribut lain

  1. Format dengan petikan tunggal atau berganda

  1. Format yang mengandungi akhiran berbeza



Mengikut format di atas, kita boleh meringkaskan peraturan pemadanan umum, seperti berikut:

/?src=['" ](.?(?:gif|jpg|jpeg|bmp|png))['"].*?>/i

Di mana, ungkapan biasa Beberapa makna adalah seperti berikut:

  • : sepadan dengan teg
  • src=['"](.*?(?:gif|jpg|jpeg|bmp|png))['"]: sepadan dengan nilai atribut src dan nilai atribut mesti disertakan dalam dua kali ganda petikan atau petikan tunggal Dibalut dengan tanda petikan, berbilang akhiran disokong pada masa yang sama.
  • .*?: digunakan untuk memadankan atribut lain dalam teg
  • i: Menunjukkan ketidakpekaan huruf besar-besaran.

2. Gunakan kod PHP untuk memadankan pautan imej

Seterusnya, kami akan menggunakan PHP untuk memadankan pautan imej.

  1. Gunakan fungsi preg_match untuk memadankan pautan imej tunggal

Fungsi preg_match digunakan untuk melakukan pemadanan ungkapan biasa pada rentetan tunggal. Berikut ialah kod PHP untuk memadankan pautan imej tunggal:

<?php
$str = '<img src="../images/picture.jpg" class="picture" width="100" height="100">';
$pattern = '/<img.*?src=['"](.*?(?:gif|jpg|jpeg|bmp|png))['"].*?>/i';
preg_match($pattern, $str, $matches);
echo $matches[1];
?>
Salin selepas log masuk

Keluaran kod di atas ialah:

../images/picture.jpg

  1. Gunakan fungsi preg_match_all untuk memadankan berbilang pautan imej

Fungsi preg_match_all digunakan untuk melaksanakan pemadanan ungkapan biasa pada set rentetan. Berikut ialah kod PHP untuk memadankan berbilang pautan imej:

<?php
$str = '
<img src="../images/picture.jpg" class="picture" width="100" height="100">
<img src="http://www.example.com/images/picture.jpg">
<img src="http://www.example.com/images/picture.png">
<img src="http://www.example.com/images/picture.gif">
';
$pattern = '/<img.*?src=['"](.*?(?:gif|jpg|jpeg|bmp|png))['"].*?>/i';
preg_match_all($pattern, $str, $matches);
print_r($matches[1]);
?>
Salin selepas log masuk

Keluaran kod di atas ialah:

Array
(

[0] => ../images/picture.jpg
[1] => http://www.example.com/images/picture.jpg
[2] => http://www.example.com/images/picture.png
[3] => http://www.example.com/images/picture.gif
Salin selepas log masuk

)

3. Ringkasan

Artikel ini memperkenalkan cara menggunakan ungkapan biasa PHP untuk memadankan pautan imej dan menyediakan kod contoh untuk latihan praktikal. Dalam pembangunan sebenar, kita boleh mengubah suai peraturan padanan ungkapan biasa mengikut keperluan. Pada masa yang sama, anda juga boleh menggunakan pautan imej yang dipadankan untuk operasi seperti paparan imej, muat turun atau penyimpanan.

Atas ialah kandungan terperinci Amalan ungkapan biasa PHP: pautan imej yang sepadan. 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