


Expressions régulières PHP : comment faire correspondre toutes les listes en HTML
En développement web, il est très courant d'afficher du contenu dans des listes. Lors du traitement et de l'analyse de fichiers HTML, des expressions régulières peuvent être utilisées pour faire correspondre plus facilement le contenu correspondant. Cet article explique comment faire correspondre toutes les listes HTML à l'aide d'expressions régulières PHP.
- Acquisition de texte de page Web
Avant de traiter la liste HTML, vous devez d'abord obtenir le contenu textuel du fichier HTML. Vous pouvez utiliser la fonction file_get_contents de PHP pour obtenir l'intégralité du contenu texte du fichier HTML. Le code est le suivant :
$html = file_get_contents('example.html');
- Match unordered list
Le premier est. la liste non ordonnée. Les listes non ordonnées sont implémentées via les balises ul et li. La balise ul est utilisée pour représenter la liste entière et la balise li représente chaque élément de la liste. Nous pouvons utiliser l'expression régulière de<ul>(.*?)</ul>
pour faire correspondre toutes les listes non ordonnées. Parmi eux, ? signifie que cette correspondance n'est pas gourmande et que le contenu correspondant sera sélectionné aussi petit que possible, de sorte que plusieurs listes ne seront pas connectées ensemble pour une correspondance par lots. Le code complet est le suivant :<ul>(.*?)</ul>
的正则表达式来匹配所有无序列表。其中,?表示这个匹配是非贪婪的,匹配到的内容将被尽量小地挑选出来,这样就不会将多个列表连在一起批量匹配了。完整代码如下:
preg_match_all('/<ul>(.*?)</ul>/s', $html, $matches); foreach ($matches[0] as $key => $value) { echo $key . ': ' . $value . '<br>'; }
以上代码中,preg_match_all 函数可以进行多次匹配,并将匹配结果保存到 $matches 中。而 /s 则表示 . 匹配包括换行符在内的所有字符。最后使用 foreach 遍历输出匹配的结果。
- 匹配有序列表
有序列表通过ol和li标签实现。ol标签用于表示有序列表,而li表示其中的每一项。正则表达式和以上的无序列表匹配方法基本上相同,匹配有序列表的正则表达式是:
preg_match_all('/<ol>(.*?)</ol>/s', $html, $matches); foreach ($matches[0] as $key => $value) { echo $key . ': ' . $value . '<br>'; }
同样地,可以使用 preg_match_all 函数进行匹配,并使用 foreach 输出结果。
- 匹配自定义列表
自定义列表通过dl、dt和dd标签实现。dl 标签用于表示定义列表,dt 标签用于表示自定义项目的名称,而 dd 标签则用于表示自定义项目的描述。正则表达式如下:
preg_match_all('/<dl>(.*?)</dl>/s', $html, $matches); foreach ($matches[0] as $key => $value) { echo $key . ': ' . $value . '<br>'; }
同样地,使用 preg_match_all 函数进行匹配,并使用 foreach 输出结果即可。
- 匹配所有列表
以上三种列表的匹配方法虽然不同,但是正则表达式都非常类似。如果需要匹配 HTML 中的所有列表,可以使用一个简单的正则表达式。
匹配所有列表的正则表达式为:/<[ou]l>(.*?)</[ou]l>/s
preg_match_all('/<[ou]l>(.*?)</[ou]l>/s', $html, $matches); foreach ($matches[0] as $key => $value) { echo $key . ': ' . $value . '<br>'; }
Dans le code ci-dessus, la fonction preg_match_all peut effectuer plusieurs correspondances et enregistrer les résultats correspondants dans $matches. Et /s signifie que . correspond à tous les caractères, y compris les nouvelles lignes. Enfin, utilisez foreach pour parcourir et afficher les résultats correspondants.
Match ordonnée à la liste
La liste ordonnée est implémentée via les balises ol et li. La balise ol est utilisée pour représenter une liste ordonnée, tandis que li représente chaque élément qu'elle contient. Les expressions régulières sont fondamentalement les mêmes que la méthode de correspondance de liste non ordonnée ci-dessus. L'expression régulière pour faire correspondre les listes ordonnées est :
rrreee
- #🎜🎜# Faire correspondre la liste personnalisée #🎜🎜# Les listes personnalisées sont implémentées via les balises dl, dt et dd. La balise dl est utilisée pour représenter la liste de définitions, la balise dt est utilisée pour représenter le nom de l'élément personnalisé et la balise dd est utilisée pour représenter la description de l'élément personnalisé. L'expression régulière est la suivante : #🎜🎜##🎜🎜#rrreee#🎜🎜#De même, utilisez la fonction preg_match_all pour faire correspondre et utilisez foreach pour afficher le résultat. #🎜🎜#
- #🎜🎜#Faire correspondre toutes les listes #🎜🎜#Bien que les méthodes de correspondance des trois listes ci-dessus soient différentes, les expressions régulières sont très similaires. Si vous devez faire correspondre toutes les listes en HTML, vous pouvez utiliser une simple expression régulière. #🎜🎜##🎜🎜##🎜🎜#L'expression régulière qui correspond à toutes les listes est :
/<[ou]l>(.*?)</[ou]l>/s
. #🎜🎜##🎜🎜#Parmi eux, [ou] représente le jeu de caractères, ce qui signifie correspondre à o ou u. Utilisez la fonction preg_match_all pour la correspondance, le code est le suivant : #🎜🎜#rrreee#🎜🎜#Le code ci-dessus correspondra à toutes les listes en HTML et affichera les résultats correspondants. #🎜🎜##🎜🎜#Résumé#🎜🎜#Lors du traitement de fichiers HTML, l'utilisation d'expressions régulières peut faire correspondre le contenu correspondant plus facilement et plus rapidement. Lors de la correspondance de listes HTML, vous pouvez effectuer une correspondance en fonction des balises de différents types de listes. Dans le même temps, vous pouvez également combiner les méthodes de correspondance des trois types de listes et utiliser une seule expression régulière pour faire correspondre toutes les listes, ce qui est plus pratique. #🎜🎜#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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c
