Maison > Article > développement back-end > Expressions régulières PHP : comment faire correspondre tous les paragraphes en HTML
Lors du développement d'un site Web ou d'un robot d'exploration, il est souvent nécessaire d'extraire le contenu requis du HTML, ce qui nécessite l'utilisation d'expressions régulières pour la correspondance. Cet article explique comment utiliser les expressions régulières PHP pour faire correspondre tous les paragraphes HTML.
Tout d'abord, nous devons comprendre que les paragraphes en HTML sont définis par des balises e388a4556c0f65e1904146cc1a846bee Par conséquent, nous devons utiliser une expression régulière pour faire correspondre toutes les lignes contenant des balises e388a4556c0f65e1904146cc1a846bee afin d'obtenir tous les paragraphes du code HTML.
Vous trouverez ci-dessous un simple bloc de code PHP pour trouver le premier paragraphe d'une chaîne.
$str = '<p>这是第一个段落。</p><p>这是第二个段落。</p>'; preg_match('/<p>(.*?)</p>/s', $str, $matches); echo $matches[1];
Sortie : Ceci est le premier paragraphe.
L'expression régulière utilisée ici est /e388a4556c0f65e1904146cc1a846bee(.*?)94b3e26ee717c64999d7867364b1b4a3/s
. Parmi eux, /s
signifie .
signifie que les retours chariot et les sauts de ligne peuvent être mis en correspondance, de sorte que les paragraphes contenant des retours chariot et des sauts de ligne peuvent être mis en correspondance. /e388a4556c0f65e1904146cc1a846bee(.*?)94b3e26ee717c64999d7867364b1b4a3/s
。其中,/s
表示 .
表示可以匹配回车符和换行符,因此可以匹配包含回车符和换行符的段落。
但是,上面的代码只能匹配到第一个段落,如果要匹配所有段落,需要使用 preg_match_all 函数。
$str = '<p>这是第一个段落。</p><p>这是第二个段落。</p>'; preg_match_all('/<p>(.*?)</p>/s', $str, $matches); foreach ($matches[1] as $match) { echo $match . '<br>'; }
输出:
这是第一个段落。
这是第二个段落。
这里使用了 preg_match_all 函数,并使用一个 foreach 循环遍历 $matches[1]
数组,以获取所有匹配到的段落。
到此为止,我们已经成功地使用 PHP 正则表达式匹配了 HTML 中所有段落的内容。但是,在实际开发过程中,需要注意 HTML 可能包含一些特殊情况,例如段落中包含嵌套标签或特殊字符等,这可能会影响正则表达式的匹配结果。因此,我们需要按需调整正则表达式来适应不同情况的 HTML 代码。
总结
使用 PHP 正则表达式匹配 HTML 中所有段落的过程如下:
/e388a4556c0f65e1904146cc1a846bee(.*?)94b3e26ee717c64999d7867364b1b4a3/s
匹配包含 e388a4556c0f65e1904146cc1a846bee
La fonction preg_match_all est utilisée ici, et une boucle foreach est utilisée pour parcourir le tableau $matches[1]
pour obtenir tous les paragraphes correspondants.
/e388a4556c0f65e1904146cc1a846bee(.*?)94b3e26ee717c64999d7867364b1b4a3/s code> correspond aux paragraphes contenant la balise <code>e388a4556c0f65e1904146cc1a846bee
. 🎜🎜Utilisez la fonction preg_match_all pour obtenir tous les paragraphes correspondants. 🎜🎜Adaptez différents codes HTML en fonction des besoins réels. 🎜🎜🎜 Maîtriser la méthode de mise en correspondance des expressions régulières PHP avec des paragraphes en HTML peut nous faciliter le traitement du contenu textuel du HTML et améliorer l'efficacité du développement. 🎜
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!