Maison > développement back-end > tutoriel php > Comment puis-je faire correspondre les caractères de nouvelle ligne dans Regex lors de l'extraction de contenu à partir de balises HTML ?

Comment puis-je faire correspondre les caractères de nouvelle ligne dans Regex lors de l'extraction de contenu à partir de balises HTML ?

Susan Sarandon
Libérer: 2024-11-01 01:31:28
original
351 Les gens l'ont consulté

How Can I Match Newline Characters in Regex When Extracting Content from HTML Tags?

Faire correspondre les caractères de nouvelle ligne avec le modificateur DOTALL Regex

Lorsque vous travaillez avec une chaîne contenant des caractères normaux, des espaces et des nouvelles lignes entourés de balises HTML div, le but est d'extraire le contenu entre

et
en utilisant des expressions régulières. Un problème courant survient lorsque le métacaractère standard .* ne correspond pas aux nouvelles lignes.

Pour surmonter ce problème, il faut utiliser le modificateur DOTALL (/s). Ce modificateur garantit que le caractère point (. dans l'expression régulière) correspond à tous les caractères, y compris les nouvelles lignes. En incorporant ce modificateur dans l'expression régulière, il devient possible de capturer avec précision le contenu dans les balises div :

'/<div>(.*)<\/div>/s'
Copier après la connexion

Cependant, cette approche peut entraîner des correspondances gourmandes. Pour résoudre ce problème, il est recommandé d'utiliser une correspondance non gourmande :

'/<div>(.*?)<\/div>/s'
Copier après la connexion

Vous pouvez également faire correspondre tout sauf < peut également être une solution s'il n'y a pas d'autres balises présentes :

'/<div>([^<]*)<\/div>/'
Copier après la connexion

Il convient de noter que l'utilisation d'un caractère autre que / comme délimiteur d'expression régulière peut améliorer la lisibilité, éliminant ainsi le besoin d'échapper / dans . Voici un exemple utilisant # comme délimiteur :

'#<div>([^<]*)</div>#'
Copier après la connexion

Bien que ces solutions puissent suffire pour des cas simples, il est crucial de reconnaître que le HTML est complexe et que l'analyse des expressions régulières à elle seule peut ne pas suffire. Pour garantir une analyse complète et fiable, il est conseillé d'envisager d'utiliser un analyseur HTML dédié.

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