Maison > développement back-end > tutoriel php > Pratique des expressions régulières PHP : faire correspondre les liens d'images

Pratique des expressions régulières PHP : faire correspondre les liens d'images

WBOY
Libérer: 2023-06-23 08:40:01
original
1612 Les gens l'ont consulté

Dans le processus de développement Web, nous avons souvent besoin d'extraire des liens d'images à partir d'articles pour afficher des images ou les stocker localement. À l’heure actuelle, les expressions régulières deviennent un outil important. Cet article expliquera comment utiliser les expressions régulières PHP pour faire correspondre les liens d'images et réalisera des exercices pratiques à l'aide d'exemples de code.

1. Règles de correspondance pour les liens d'images

Dans les pages Web très complexes et modifiables, les formats des liens d'images varient. Voici quelques formats de liens d'image courants :

  1. Format de chemin relatif

  1. Format du chemin absolu

  1. Format avec classe, largeur, hauteur et autres attributs

  1. Format avec guillemets simples ou doubles# 🎜🎜##🎜 🎜#

contient différents suffixes Le format du nom


# 🎜🎜# Sur la base du format ci-dessus, nous pouvons résumer une règle générale de correspondance comme suit :

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

Parmi eux, une partie de la signification de l'expression régulière est la suivante : # 🎜🎜# : correspond à la balise et la balise peut contenir d'autres attributs.

src=['"](.*?(?:gif|jpg|jpeg|bmp|png))['"] : correspond à la valeur de l'attribut src et la valeur de l'attribut doit être entourée entre guillemets doubles Ou entre guillemets simples, plusieurs suffixes sont pris en charge en même temps.

    .*? : utilisé pour faire correspondre d'autres attributs dans la balise .
  • i : Indique une insensibilité à la casse.
  • 2. Utilisez le code PHP pour faire correspondre les liens d'images
  • Ensuite, nous utiliserons PHP pour faire correspondre les liens d'images.

Utilisez la fonction preg_match pour faire correspondre un seul lien d'image

La fonction preg_match est utilisée pour effectuer une correspondance d'expression régulière sur une seule chaîne. Ce qui suit est un code PHP permettant de faire correspondre un lien d'image unique :
    <?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];
    ?>
    Copier après la connexion
  1. Le résultat du code ci-dessus est :
../images/picture.jpg

# 🎜🎜#

Utilisez la fonction preg_match_all pour faire correspondre plusieurs liens d'image

La fonction preg_match_all est utilisée pour effectuer une correspondance d'expression régulière sur un ensemble de chaînes. Ce qui suit est un code PHP permettant de faire correspondre plusieurs liens d'images :

<?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]);
?>
Copier après la connexion
    Le résultat du code ci-dessus est :
  1. 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
Copier après la connexion
# 🎜 🎜#)

3. Résumé

Cet article explique comment utiliser les expressions régulières PHP pour faire correspondre les liens d'images et fournit un exemple de code pour des exercices pratiques. Dans le développement réel, nous pouvons modifier les règles de correspondance des expressions régulières selon nos besoins. Dans le même temps, vous pouvez également utiliser le lien d'image correspondant pour des opérations telles que l'affichage, le téléchargement ou le stockage d'images.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal