Maison  >  Article  >  développement back-end  >  Comment exclure les mots-clés correspondants dans des balises HTML spécifiques à l'aide d'expressions régulières en PHP ?

Comment exclure les mots-clés correspondants dans des balises HTML spécifiques à l'aide d'expressions régulières en PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-20 13:30:29340parcourir

How to Exclude Matching Keywords within Specific HTML Tags Using Regular Expressions in PHP?

Mots clés correspondants en dehors des balises d'ancrage HTML à l'aide d'expressions régulières en PHP

Mots clés correspondants dans un texte HTML peut être un défi, surtout lorsqu'il s'agit de éviter les correspondances dans des balises spécifiques telles que les balises d'ancrage (mot-clé" et "mot-clé déjà lié ".

La solution

Le code PHP fourni exploite une regex complexe pour obtenir le résultat souhaité :

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

Comprendre l'expression régulière

L'expression régulière comprend une expression principale et une anticipation négative :

Explication

L'expression régulière fonctionne en faisant d'abord correspondre le mot-clé. Elle utilise ensuite une analyse anticipée négative pour vérifier la présence d'une balise de fermeture sans balise intermédiaire. Si l'analyse anticipée réussit, cela signifie que le mot-clé est enfermé dans un élément d'ancrage. , donc la correspondance est rejetée. Sinon, l'expression principale correspond au mot-clé et elle est remplacée par le code HTML spécifié.

Implémentation

Le code fourni attribue la chaîne modifiée à la variable $str . L'expression régulière peut être modifiée selon les besoins pour correspondre à différents mots-clés ou balises HTML.

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!

Déclaration:
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