Maison développement back-end tutoriel php Expressions régulières PHP : comment faire correspondre toutes les listes en HTML

Expressions régulières PHP : comment faire correspondre toutes les listes en HTML

Jun 22, 2023 pm 09:21 PM
php 正则表达式 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.

  1. 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');
Copier après la connexion
  1. 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>';
}
Copier après la connexion

以上代码中,preg_match_all 函数可以进行多次匹配,并将匹配结果保存到 $matches 中。而 /s 则表示 . 匹配包括换行符在内的所有字符。最后使用 foreach 遍历输出匹配的结果。

  1. 匹配有序列表
    有序列表通过ol和li标签实现。ol标签用于表示有序列表,而li表示其中的每一项。正则表达式和以上的无序列表匹配方法基本上相同,匹配有序列表的正则表达式是:
preg_match_all('/<ol>(.*?)</ol>/s', $html, $matches);

foreach ($matches[0] as $key => $value) {
    echo $key . ': ' . $value . '<br>';
}
Copier après la connexion

同样地,可以使用 preg_match_all 函数进行匹配,并使用 foreach 输出结果。

  1. 匹配自定义列表
    自定义列表通过dl、dt和dd标签实现。dl 标签用于表示定义列表,dt 标签用于表示自定义项目的名称,而 dd 标签则用于表示自定义项目的描述。正则表达式如下:
preg_match_all('/<dl>(.*?)</dl>/s', $html, $matches);

foreach ($matches[0] as $key => $value) {
    echo $key . ': ' . $value . '<br>';
}
Copier après la connexion

同样地,使用 preg_match_all 函数进行匹配,并使用 foreach 输出结果即可。

  1. 匹配所有列表
    以上三种列表的匹配方法虽然不同,但是正则表达式都非常类似。如果需要匹配 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>';
}
Copier après la connexion

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

    De même, vous pouvez utiliser la fonction preg_match_all pour la correspondance et utiliser foreach. affiche les résultats. #🎜🎜#
      #🎜🎜# 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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

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.

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

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.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

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

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

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.

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

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

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

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

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

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

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

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

See all articles