Maison >développement back-end >tutoriel php >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.
$html = file_get_contents('example.html');
ff6d136ddc5fdfeffaf53ff6ee95f185(.*?)929d1f5ca49e04fdcb27f9465b944689
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 : ff6d136ddc5fdfeffaf53ff6ee95f185(.*?)929d1f5ca49e04fdcb27f9465b944689
的正则表达式来匹配所有无序列表。其中,?表示这个匹配是非贪婪的,匹配到的内容将被尽量小地挑选出来,这样就不会将多个列表连在一起批量匹配了。完整代码如下:preg_match_all('/<ul>(.*?)</ul>/s', $html, $matches); foreach ($matches[0] as $key => $value) { echo $key . ': ' . $value . '<br>'; }
以上代码中,preg_match_all 函数可以进行多次匹配,并将匹配结果保存到 $matches 中。而 /s 则表示 . 匹配包括换行符在内的所有字符。最后使用 foreach 遍历输出匹配的结果。
preg_match_all('/<ol>(.*?)</ol>/s', $html, $matches); foreach ($matches[0] as $key => $value) { echo $key . ': ' . $value . '<br>'; }
同样地,可以使用 preg_match_all 函数进行匹配,并使用 foreach 输出结果。
preg_match_all('/<dl>(.*?)</dl>/s', $html, $matches); foreach ($matches[0] as $key => $value) { echo $key . ': ' . $value . '<br>'; }
同样地,使用 preg_match_all 函数进行匹配,并使用 foreach 输出结果即可。
匹配所有列表的正则表达式为:/04585a9939123efd3b029e4061973694(.*?)2f93380ee9d9196dac17b821a744d509/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
/04585a9939123efd3b029e4061973694(.*?)2f93380ee9d9196dac17b821a744d509/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!