Maison > développement back-end > C++ > Comment extraire les valeurs href des balises à l'aide d'expressions régulières ?

Comment extraire les valeurs href des balises à l'aide d'expressions régulières ?

Linda Hamilton
Libérer: 2025-01-10 06:19:40
original
701 Les gens l'ont consulté

How to Extract href Values from  Tags Using Regular Expressions?

Utilisez des expressions régulières pour trouver la valeur 'href' du <a> lien

L'extraction de liens à partir de HTML peut généralement être effectuée à l'aide d'un modèle simple tel que "(?>.?)". Cependant, cette méthode échoue lorsqu’on essaie d’obtenir spécifiquement l’attribut « href ».

Pour résoudre ce problème, nous pouvons utiliser une expression régulière plus précise pour localiser la valeur 'href' dans la balise <a>. Voici un modèle valide :

<code><a\s+(?:[^>]*?\s+)?href=(["'])(.*?)</code>
Copier après la connexion

Cette expression régulière fonctionne comme ceci :

  • Trouvez la balise <a> de départ.
  • Facultatif correspond à n'importe quel attribut ou espace avant l'attribut 'href'.
  • Capturez la citation de départ (simple ou double).
  • Fait correspondre tous les caractères entre guillemets et les capture en tant que groupe (cela inclut les URL liées).
  • Assurez-vous que le guillemet de clôture correspond au guillemet d'ouverture.

En utilisant cette expression régulière, vous pouvez extraire la valeur 'href' d'un lien comme celui-ci :

<code><a ....="" href="//m.sbmmt.com/link/3d7a8f67f51564c349478f7d52abee3b"></a>
<a ....="" href="http:////m.sbmmt.com/link/3d7a8f67f51564c349478f7d52abee3b"></a>
<a ....="" href="https:////m.sbmmt.com/link/3d7a8f67f51564c349478f7d52abee3b"></a></code>
Copier après la connexion

Cependant, il est important de noter que cette expression régulière correspondra également aux liens qui ne contiennent pas les caractères « ? » et « = » requis. Si cela pose un problème, un filtrage supplémentaire peut être nécessaire.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal