Comment faire correspondre des mots-clés en dehors des balises d'ancrage à l'aide de PHP Regex ?

Patricia Arquette
Libérer: 2024-10-20 13:29:02
original
350 Les gens l'ont consulté

How to Match Keywords Outside of Anchor Tags Using PHP Regex?

Mots clés correspondants en dehors des balises d'ancrage HTML () à l'aide d'une expression régulière PHP

Dans le développement Web, il peut y avoir des situations dans lesquelles vous devez faire correspondre et remplacer des mots-clés dans le contenu HTML tout en évitant certaines zones spécifiques, telles que les hyperliens. Ceci peut être réalisé à l'aide d'expressions régulières PHP.

Énoncé du problème :

La tâche à accomplir est de trouver un modèle d'expression régulière qui correspond au mot-clé « mot-clé » mais exclut instances qui sont entourées de balises d'ancrage (mot-clé).

Solution :

Pour résoudre ce problème efficacement, l'expression régulière PHP suivante peut être utilisé :

<code class="php">$str = preg_replace('~Moses(?!(?>[^<]*(?:<(?!/?a\b)[^<]*)*)</a>)~i',
                    '<a href="novo-mega-link.php"></a>', $str);</code>
Copier après la connexion

Explication :

  • Moïse :Cette partie correspond simplement au mot-clé "Moïse".
  • (?!: Cela dénote le début d'une assertion prospective négative.
  • (?>[^<]*(?:<(?!/ ?ab)[^<]*)*) :Cette partie crée un modèle récursif pour identifier un nombre quelconque de caractères de balise non HTML ou de balises imbriquées qui n'ouvrent pas de balises d'ancrage.
  • : Correspond à la balise d'ancrage de fermeture.
  • ): Cette parenthèse ferme l'assertion d'anticipation négative.
  • ~i : Le modificateur insensible à la casse fait fonctionner le modèle pour les majuscules et les minuscules "Moïse".

Principe de fonctionnement :

L'expression régulière initialement correspond à "Moïse". Cependant, si les conditions suivantes sont remplies, il n'effectuera pas de correspondance :

  • Le mot-clé doit être suivi d'une séquence de caractères non HTML.
  • Le mot-clé ne doit pas être suivi d'une balise d'ancrage d'ouverture.
  • Le mot-clé doit être suivi d'une balise d'ancrage de fermeture valide.

Si toutes ces conditions sont remplies, le modèle ne correspondra pas au mot-clé. Par conséquent, il sera exclu du remplacement.

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
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