Maison > développement back-end > tutoriel php > Expressions régulières PHP : Comment extraire tout le contenu textuel en HTML

Expressions régulières PHP : Comment extraire tout le contenu textuel en HTML

WBOY
Libérer: 2023-06-22 22:18:01
original
2426 Les gens l'ont consulté
<p>Dans le développement web, il est souvent nécessaire d'extraire le contenu textuel du HTML. À l'heure actuelle, nous pouvons utiliser les expressions régulières de PHP pour réaliser cette fonction. Les expressions régulières sont un langage de correspondance de chaînes et peuvent être utilisées pour analyser le balisage HTML, filtrer le texte, valider les formulaires, etc. </p> <p> Ci-dessous, nous présenterons comment utiliser les expressions régulières PHP pour extraire tout le contenu textuel en HTML. </p> <ol><li>Obtenir le contenu du fichier HTML </li></ol> <p>Tout d'abord, nous devons utiliser la fonction de lecture de fichier de PHP <code>file_get_contents()</code> pour lire Obtenez le contenu du fichier HTML. Par exemple, nous avons un fichier HTML nommé <code>example.html</code> qui peut être lu avec le code suivant : <code>file_get_contents()</code> 读取 HTML 文件的内容。例如,我们有一个名为 <code>example.html</code> 的 HTML 文件,可以用以下代码读取:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$html = file_get_contents("example.html");</pre><div class="contentsignin">Copier après la connexion</div></div><ol start="2"><li>编写正则表达式</li></ol><p>接着,我们需要编写正则表达式,来匹配 HTML 中的文本内容。在 HTML 中,文本内容位于标记之间,我们可以通过匹配标记的方式来提取其中的文本内容。</p><p>以下是一个简单的正则表达式示例,可以匹配所有的 HTML 标记:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$pattern = '/<[^>]*>/';</pre><div class="contentsignin">Copier après la connexion</div></div><p>这个正则表达式的含义是:匹配以 <code><</code> 开头、以 <code>></code> 结尾的字符序列,中间不包含任何 <code>></code> 字符。</p><p>我们可以使用 <code>preg_replace()</code> 函数将所有的 HTML 标记替换成空字符串,从而提取出 HTML 中的文本内容:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$text = preg_replace($pattern, '', $html);</pre><div class="contentsignin">Copier après la connexion</div></div><ol start="3"><li>过滤特殊字符</li></ol><p>在提取出 HTML 中的文本内容后,我们还需要过滤掉其中的一些特殊字符,例如换行符、制表符等等。这个时候,我们可以使用 PHP 的 <code>strip_tags()</code> 函数去掉 HTML 中所有的标记,并使用 <code>trim()</code><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$text = strip_tags($text); $text = trim($text);</pre><div class="contentsignin">Copier après la connexion</div></div><ol start="2"></p>Writing Regular Expressions# 🎜 🎜#<p></p>Ensuite, nous devons écrire une expression régulière pour correspondre au contenu du texte en HTML. En HTML, le contenu du texte est situé entre les balises et nous pouvons extraire le contenu du texte en faisant correspondre les balises. <p></p>Ce qui suit est un exemple d'expression régulière simple qui peut correspondre à toutes les balises HTML : <p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$html = file_get_contents("example.html"); $pattern = '/<[^>]*>/'; $text = preg_replace($pattern, '', $html); $text = strip_tags($text); $text = trim($text); echo $text;</pre><div class="contentsignin">Copier après la connexion</div></div>La signification de cette expression régulière est : faire correspondre les caractères commençant par <code><< Une séquence de caractères commençant par /code> et se terminant par <code>></code>, sans aucun caractère <code>></code> entre les deux. <p></p>Nous pouvons utiliser la fonction <code>preg_replace()</code> pour remplacer toutes les balises HTML par des chaînes vides afin d'extraire le contenu du texte en HTML : #🎜🎜#rrreee<ol start="3 ">#🎜🎜#Filtrer les caractères spéciaux#🎜🎜##🎜🎜##🎜🎜#Après avoir extrait le contenu du texte en HTML, nous devons également filtrer certains caractères spéciaux, tels que les sauts de ligne, les symboles, etc. À l'heure actuelle, nous pouvons utiliser la fonction <code>strip_tags()</code> de PHP pour supprimer toutes les balises en HTML, et utiliser la fonction <code>trim()</code> pour supprimer les caractères d'espacement aux deux extrémités de la chaîne. . #🎜🎜#rrreee#🎜🎜#Enfin, nous pouvons obtenir tout le contenu texte en HTML. #🎜🎜##🎜🎜#Le code complet est le suivant : #🎜🎜#rrreee#🎜🎜#Summary#🎜🎜##🎜🎜#Utiliser des expressions régulières PHP pour extraire du contenu textuel en HTML est une opération courante. Grâce à l'introduction des étapes ci-dessus, nous pouvons facilement implémenter cette fonction. Cependant, il convient de noter que les expressions régulières ne constituent qu'un outil de correspondance de base. Pour les fragments HTML complexes, des méthodes de correspondance plus complexes peuvent être nécessaires pour extraire le contenu du texte. #🎜🎜#</ol>

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal