Dans les pages HTML, nous devons souvent extraire des liens d'images pour les utiliser à d'autres occasions, ou effectuer du téléchargement d'images, un traitement par lots, etc. À l’heure actuelle, les expressions régulières PHP peuvent nous aider à faire correspondre rapidement et précisément tous les liens d’images.
1. Analyser les liens d'images en HTML
En HTML, les liens d'images apparaissent généralement sous la forme de balises , et leur format est le suivant :
<img src="image.jpg" alt="图片">
Parmi eux, l'attribut src précise l'adresse du lien du image. Généralement, les formats des liens images sont les suivants :
Nous devons écrire des expressions régulières pour correspondre à ces quatre formats de lien .
2. Lien d'image de correspondance d'expression régulière PHP
Il existe de nombreux types de fonctions d'expression régulière en PHP, parmi lesquelles preg_match() est la plus couramment utilisée, qui peut être utilisée pour faire correspondre des chaînes spécifiées à partir de texte. Ce qui suit est une expression régulière qui peut correspondre aux quatre formats de lien d'image ci-dessus :
$pattern = '/<img.+?src=['"](.+?)['"].*?>/';
Cette expression régulière se compose de plusieurs parties, expliquons-les une par une ci-dessous :
Ensuite, nous utilisons la fonction preg_match() pour extraire tous les liens d'image en HTML :
$html = file_get_contents('example.html'); // 读取 HTML 文件 preg_match_all($pattern, $html, $matches); // 匹配链接 $imgUrls = $matches[1]; // 获取匹配到的链接地址
Dans ceci De cette façon, nous pouvons obtenir un tableau $imgUrls contenant tous les liens d'image. Si vous souhaitez faire correspondre uniquement les liens d'image dans un certain format, vous pouvez apporter quelques modifications à l'expression régulière, comme faire correspondre uniquement les liens absolus :
$pattern = '/<img.+?src=['"](https?://.+?)['"].*?>/';
Cette expression régulière. ajoute http ou https La limitation de l'en-tête du protocole est que seuls les liens absolus commençant par ces deux protocoles correspondent.
Résumé
Utiliser des expressions régulières PHP pour faire correspondre les liens d'image en HTML n'est pas une question compliquée. lien correspondant en fonction du format du lien. Expression régulière, puis utilisez la fonction preg_match() pour extraire rapidement et précisément tous les liens. Si vous avez souvent besoin d'extraire d'autres contenus du HTML, vous pouvez également utiliser une méthode similaire.
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!