Maison > Article > développement back-end > Comment utiliser des expressions régulières PHP pour faire correspondre des mots-clés à l'exclusion de ceux des balises d'ancrage ?
Comment faire correspondre des mots-clés en dehors des balises d'ancrage HTML à l'aide d'expressions régulières PHP
En PHP, il est possible de faire correspondre et de remplacer des mots-clés spécifiques dans le contenu HTML en utilisant des expressions régulières. Un scénario courant est la nécessité de faire correspondre les mots-clés tout en excluant leurs occurrences dans les balises d'ancrage HTML. Tenez compte des exigences suivantes :
Pour relever ce défi, nous pouvons utiliser une solution d'expression régulière en PHP qui garantit que les correspondances de mots clés ne se produisent qu'en dehors des balises d'ancrage.
L'extrait de code suivant montre comment y parvenir :
<code class="php">$str = preg_replace('~Moses(?!(?>[^<]*(?:<(?!/?a\b)[^<]*)*)</a>)~i', '<a href="novo-mega-link.php"></a>', $str);</code>
Explication :
Le composant principal de cette expression régulière est l'anticipation négative. Cette analyse anticipée vérifie la présence de balises d'ancrage fermantes "" et d'une balise d'ancrage ouvrante "" dans cet ordre. Si ce modèle est trouvé, l'expression dans la recherche anticipée est considérée comme vraie et la correspondance du mot clé est annulée.
Par conséquent, l'expression régulière garantit que les correspondances sont effectuées uniquement lorsque le mot clé apparaît en dehors des balises d'ancrage HTML. Cela nous permet de remplacer ultérieurement le mot-clé par une balise d'ancrage renvoyant vers une URL spécifiée.
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!