Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Praxis für reguläre Ausdrücke: Passende Bildlinks

PHP-Praxis für reguläre Ausdrücke: Passende Bildlinks

WBOY
WBOYOriginal
2023-06-23 08:20:371585Durchsuche

Im Prozess der Webentwicklung müssen wir häufig Bildlinks aus Artikeln extrahieren, um Bilder anzuzeigen oder lokal zu speichern. Zu diesem Zeitpunkt werden reguläre Ausdrücke zu einem wichtigen Werkzeug. In diesem Artikel wird die Verwendung regulärer PHP-Ausdrücke zum Abgleichen von Bildlinks vorgestellt und praktische Übungen anhand von Beispielcode durchgeführt.

1. Matching-Regeln für Bildlinks

Auf hochkomplexen und veränderlichen Webseiten variieren die Formate von Bildlinks. Hier sind einige gängige Bildlinkformate:

  1. Relatives Pfadformat

f2c1e9d33d026e38180fdaa6edf6d2ca

  1. Absolutes Pfadformat

de9d79b22cfbd2e3b4cfbbd7b4e4d897

  1. Format mit Klasse, Breite, Höhe und anderen Attributen

940696e0710665466ee6271b746bb32e

  1. Format mit einfachen oder doppelten Anführungszeichen

c1d6316216b807262c3afeba5f1c0d71

  1. Enthält Formate mit unterschiedlichen Suffixen

203f1b65967aec8ac84e3c48ece3b17f
71ace6eb70ac0a57d2c9e6d4f6def519
0febb59b8ac7baa071e2650125284b34

Basierend auf dem oben genannten Format können wir eine allgemeine Übereinstimmungsregel wie folgt zusammenfassen:

/4de76ec59a96cccee9e9f3c782ff3375/i

Unter diesen sind einige der Bedeutungen im regulären Ausdruck wie folgt:

  • 1d0a94b69819f080670a8fe502661b4a: entspricht dem a1f02c36ba31691bcfe87b2722de723b-Tag und ist innerhalb des Tags Contains möglich andere Eigenschaften.
  • src=['"](.*?(?:gif|jpg|jpeg|bmp|png))['"]: entspricht dem src-Attributwert und der Attributwert muss in doppelte oder einfache Anführungszeichen gesetzt werden , Unterstützt mehrere Suffixe gleichzeitig.
  • .*?: Wird verwendet, um andere Attribute im a1f02c36ba31691bcfe87b2722de723b-Tag abzugleichen.
  • i: Zeigt an, dass die Groß-/Kleinschreibung nicht beachtet wird.

2. Verwenden Sie PHP-Code, um Bildlinks abzugleichen.

Als Nächstes verwenden wir PHP, um Bildlinks abzugleichen.

  1. Verwenden Sie die Funktion preg_match, um einen einzelnen Bildlink abzugleichen.

Die Funktion preg_match wird verwendet, um einen regulären Ausdrucksabgleich für eine einzelne Zeichenfolge durchzuführen. Das Folgende ist ein PHP-Code zum Abgleichen eines einzelnen Bildlinks:

<?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];
?>

Die Ausgabe des obigen Codes lautet:

../images/picture.jpg

  1. Verwenden Sie die Funktion preg_match_all, um mehrere Bildlinks abzugleichen

The Die Funktion preg_match_all wird verwendet, um einen regulären Ausdrucksabgleich für eine Reihe von Zeichenfolgen durchzuführen. Das Folgende ist ein PHP-Code zum Abgleichen mehrerer Bildlinks:

<?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]);
?>

Das Ausgabeergebnis des obigen Codes ist:

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

)

3. Zusammenfassung

In diesem Artikel wird die Verwendung regulärer PHP-Ausdrücke erläutert Passende Bildlinks und Bereitstellung von Beispielcode für praktische Übungen. In der tatsächlichen Entwicklung können wir die Übereinstimmungsregeln regulärer Ausdrücke nach Bedarf ändern. Gleichzeitig können Sie den passenden Bildlink auch für Vorgänge wie Bildanzeige, Download oder Speicherung nutzen.

Das obige ist der detaillierte Inhalt vonPHP-Praxis für reguläre Ausdrücke: Passende Bildlinks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn