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

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

Barbara Streisand
Libérer: 2025-01-10 10:39:41
original
427 Les gens l'ont consulté

How to Extract href Attribute Values from Anchor Links Using Regular Expressions?

Utilisez des expressions régulières pour extraire la valeur de l'attribut href du lien d'ancrage

Pour extraire la valeur de l'attribut href d'un lien d'ancrage HTML, vous pouvez utiliser une expression régulière personnalisée. Voici une réponse complète à vos besoins spécifiques :

Le modèle regex "@(<a.>?>.?)" que vous avez fourni identifie les liens d'ancrage, mais il ne capture pas la valeur href. Pour y parvenir il vous faut un schéma plus précis :

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

Ce mode se décompose comme suit :

  • <a correspond à la balise d'ancrage de départ.
  • s (?:[^>]*?s )? correspond à tous les espaces et attributs facultatifs (groupes non capturants) dans les balises d'ancrage.
  • href= correspond à l'attribut href.
  • (["'])(.*?)1 capture la valeur href, qui se situe entre guillemets doubles ou simples (groupe de capture).

Filtrer les URL valides

Pour filtrer les URL non valides (URL ne contenant ni caractères "?" ni "="), vous pouvez utiliser l'expression régulière suivante :

<code>page\.php\?id\=.*</code>
Copier après la connexion

Ce modèle correspond aux chaînes qui correspondent aux critères que vous spécifiez.

Extraire la valeur href de la liste chaînée

Vous avez déclaré que vous n'aviez plus besoin d'analyser les balises d'ancrage, et vous disposez désormais d'une liste de liens au format "href="abcdef"". Pour extraire la valeur href de cette liste, vous pouvez utiliser :

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

Ce mode capture les valeurs href même si elles sont placées entre guillemets doubles ou simples.

Extrait de code JavaScript

Pour montrer comment utiliser ces modèles d'expressions régulières en JavaScript, voici un extrait de code :

<code class="language-javascript">const pattern = /<a\s+(?:[^>]*?\s+)?href=(["'])(.*?)/;
const linkText = '<a href="www.example.com/page.php?id=xxxx&name=yyyy"></a>';
const match = pattern.exec(linkText);
if (match) {
  console.log(match[2]); // 输出:www.example.com/page.php?id=xxxx&name=yyyy
}</code>
Copier après la connexion

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