Expressions régulières PHP : comment faire correspondre tous les liens de feuille de style en HTML

王林
Libérer: 2023-06-22 19:54:01
original
898 Les gens l'ont consulté

En HTML, les liens de feuille de style sont généralement intégrés dans la balise head. Ces liens pointent vers des fichiers CSS contenant des règles de style permettant de personnaliser l'affichage du document.

Dans certains cas, nous devons écrire du code pour traiter automatiquement les pages HTML, par exemple en supprimant ou en remplaçant certains éléments ou attributs qu'elles contiennent. A ce stade, si nous devons opérer sur les liens des feuilles de style en HTML, nous pouvons utiliser des expressions régulières en PHP pour faire correspondre ces liens.

Voici un exemple de la façon de procéder :

Tout d'abord, nous devons obtenir le contenu de la page HTML et le stocker dans une variable. Vous pouvez utiliser la fonction file_get_contents de PHP pour réaliser cette opération, par exemple :

$html = file_get_contents("http://www.example.com");

Ensuite, nous devons écrire une expression régulière pour correspondre au style dans Lien vers le tableau HTML. Les liens de feuille de style ont généralement le format suivant :

De plus, il existe certaines variations possibles, comme dans l'attribut href. Contenir des chemins absolus ou relatifs dans la valeur, ou utiliser des valeurs d'attribut entre guillemets doubles ou simples, etc. Par conséquent, nous devons écrire une expression régulière qui peut correspondre à diverses variantes de liens de feuille de style.

Ce qui suit est une expression régulière qui correspond aux liens de feuille de style :

$link_pattern = '/href=['"]?(..css)/';

Cette expression régulière commence par < ;link puis faites correspondre n'importe quel nombre de caractères (.) jusqu'à ce que l'attribut href soit rencontré. Ensuite, nous utilisons ['"]? pour faire correspondre la valeur de l'attribut entre guillemets ou guillemets simples et stocker cette valeur dans un groupe. . Enfin, nous utilisons ..css pour faire correspondre les noms de fichiers se terminant par .css dans la valeur de l'attribut href.

Une fois terminé, nous pouvons utiliser la fonction preg_match_all pour faire correspondre tous les liens de feuille de style dans la page HTML :

preg_match_all($link_pattern, $html, $matches);

Cette fonction renverra un tableau $matches, qui contient All liens de feuille de style correspondants. L'élément $matches[0] contient toutes les chaînes correspondantes, tandis que $matches[1] contient la valeur de l'attribut href correspondante.

Enfin, on peut opérer sur les liens de la feuille de style, comme supprimer ou remplacer un lien :

$new_html = preg_replace($link_pattern, '', $html);

Cet exemple remplacera tous les liens de feuille de style correspondants par le commentaire "".

En utilisant des expressions régulières pour faire correspondre les liens de feuille de style en HTML, vous pouvez facilement automatiser le traitement des pages. Lors de l'écriture d'expressions régulières, vous devez prendre en compte diverses variantes pour vous assurer que tous les liens de feuille de style correspondent.

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