Maison >développement back-end >tutoriel php >Comment ignorer les espaces facultatifs dans les expressions régulières pour l'analyse HTML ?
Espaces facultatifs dans les expressions régulières
Lors de l'analyse de données HTML ou texte, il est souvent nécessaire d'ignorer les espaces entre certains caractères. Cependant, cela peut être difficile à utiliser avec des expressions régulières.
Solution Utiliser s ? et s* Quantificateurs
Pour faire correspondre les espaces facultatifs entre les caractères, utilisez les quantificateurs s ? et s*.
Exemple
Pour ignorer les espaces dans les balises HTML suivantes :
<code class="html"><a href="/wiki/File:Sky1.png" title="File:Sky1.png"> <img alt="Sky1.png" src="http://media-mcw.cursecdn.com/thumb/5/56/Sky1.png/150px-Sky1.png" width="150" height="84"> </a></code>
Utilisez l'expression régulière suivante :
'#<a href\s?="(.*?)" title\s?="(.*?)"><img alt\s?="(.*?)" src\s?="(.*?)"[\s*]width\s?="150"[\s*]height\s?="(.*?)"></a>#'
Cette expression permet un espace facultatif entre les noms d'attribut et leurs valeurs, ainsi qu'entre les valeurs d'attribut et les balises HTML environnantes.
Remarque sur les classes de caractères
Le code d'origine utilisait la classe de caractères [s ], ce qui a provoqué des résultats inattendus. Une classe de caractères correspond une fois à l'un de ses membres, et le quantificateur lui permet de se produire plusieurs fois. En remplaçant [s] par s, vous vous assurez que seuls les caractères d'espacement correspondent et que le quantificateur s'applique spécifiquement à eux.
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!