PHP, comme il sied à un langage moderneprogrammation, offre au développeur un ensemble de fonctions permettant d'utiliser des expressions régulières. Vous pouvez rechercher des occurrences de chaînes dans d'autres chaînes à l'aide de critères complexes.
HTML, CSS, XML et autres fichiers formalisés -tâches classiques d'utilisation de la fonction preg match all. La recherche d'adresses, de noms, de numéros de téléphone, de courriels et d'autres informations dans des textes non formalisés n'en donne pas moins d'effet.
PHP propose deux fonctions de recherche: preg match et preg match tout. Le premier recherche la première occurrence d'un motif dans une chaîne, le second - toutes les occurrences. Le terme «correspondance de modèle» est parfois utilisé. Dans le premier cas, le résultat de la fonction est "la chaîne correspond au modèle", dans le second cas - "des correspondances ont été trouvées dans la chaîne avec le modèle". Formellement, le terme «correspondance» reflète plus précisément l'essence, mais le contexte naturel de l'opération est généralement la «recherche» d'informations. En pratique, les deux sont demandés. Le format des fonctions est décrit ci-dessous.
Le résultat de la fonction est un nombre, le nombre de correspondances. Toutes les correspondances trouvées sont écrites dans le tableau - matches. Dans le cas de la fonction preg match all, vous pouvez spécifier l'ordre de tri du tableau:
Le tri par première option regroupe les résultats de la recherche par numéro d'expression régulière (par défaut). Dans le second cas, les résultats sont regroupés par leur emplacement dans la ligne.
Il est important de se rappeler que le modèle fonctionne sur des symboles. La programmation a oublié depuis longtemps ce qu'est le type de données "symbole". Les langues modernes ne tombent pas en dessous du concept de "chaîne", mais en ce qui concerne le modèle, il faut comprendre: ici, ils manipulent les caractères.
Construire un modèle, c'est tout d'abord spécifier la séquence de caractères souhaitée. Si vous comprenez clairement cela, il n'y aura aucune erreur dans le modèle. Dans tous les cas, il y en aura beaucoup moins.
Le cas du modèle est important. Les premier et dernier caractères du motif sont importants. Vous pouvez spécifier où le modèle commence et comment il se termine.
PHP preg match all utilise la syntaxe standard des expressions régulières. Les crochets indiquent l'un des symboles qu'ils contiennent:
Les caractères de répétition sont indiqués par des accolades - {n, m} et font référence au caractère précédent.
La syntaxe offre de nombreuses options pour créer des modèles, mais il est préférable de commencer par les bases, c'est-à-dire par des éléments simples et manuscrits, dans lesquels les éléments complexes et les combinaisons sont absents.
En termes simples, en listant de vrais personnages,qui sont nécessaires, en spécifiant les quantités requises et en tenant compte du fait que le symbole "^" correspond au début et le "$" - à la fin de la ligne, vous pouvez créer des modèles simples. En analysant de vraies expressions régulières déboguées de personnes qualifiées, vous pouvez acquérir de solides connaissances pour créer des correspondances preg complexes à toutes les applications. L'arsenal de PHP n'est pas limité à ces deux fonctions, mais elles sont les plus couramment utilisées.
Modèle entier:
Aussi un motif entier, mais il peut y avoir un signe ("+", "-") devant, et il peut y avoir des espaces supplémentaires devant / derrière:
De même:
En utilisant vos propres modèles pour preg match all, des exemples sur Internet, en analysant le code des pages du site et d'autres sources vous permettent de créer votre propre bibliothèque de modèles.
Les options pour trouver des informations peuvent êtreun tas de. En particulier, les deux dernières constructions ci-dessus peuvent être modélisées différemment. Dans de nombreux cas, la préférence sera pour le modèle qui fournit la correspondance souhaitée plus rapidement et plus précisément. L'utilisation de preg match all en PHP, ainsi que des fonctions similaires dans d'autres langages, nécessite de la pratique, de l'attention et une vérification préalable de l'exactitude des modèles.