Maison > développement back-end > tutoriel php > Comment rechercher et afficher des lignes contenant une chaîne spécifique dans un fichier texte à l'aide de PHP ?

Comment rechercher et afficher des lignes contenant une chaîne spécifique dans un fichier texte à l'aide de PHP ?

Patricia Arquette
Libérer: 2024-11-21 01:51:10
original
307 Les gens l'ont consulté

How to Search and Display Lines Containing a Specific String in a Text File Using PHP?

Script PHP pour rechercher et afficher la ligne entière contenant la chaîne spécifiée à partir d'un fichier texte

Pour créer un script PHP qui recherche et affiche l'intégralité ligne contenant une chaîne spécifiée à partir d'un fichier texte, suivez ces étapes :

  1. Ouvrez le fichier texte : Utilisez la fonction file_get_contents() pour lire le contenu du fichier texte dans une variable .
  2. Échapper aux caractères spéciaux : Utilisez la fonction preg_quote() pour échapper à tous les caractères spéciaux dans la chaîne de recherche afin d'éviter des résultats inattendus.
  3. Créer une expression régulière : Formulez une expression régulière qui correspond à la ligne entière contenant la chaîne de recherche. Utilisez le modèle suivant : "/^.*$pattern.*$/m". Cela garantit que la chaîne de recherche peut apparaître n'importe où sur la ligne.
  4. Effectuer une recherche : Utilisez la fonction preg_match_all() pour rechercher dans le contenu du fichier texte toutes les occurrences de l'expression régulière. Les lignes correspondantes seront stockées dans un tableau.
  5. Afficher les résultats : Parcourez les correspondances et affichez chaque ligne entière.
  6. Ne gérer aucune correspondance : Si la chaîne de recherche n'est pas trouvée, faites écho à un message approprié indiquant l'absence de correspondances.

Voici un script PHP qui implémente les étapes ci-dessus :

<?php
$file = 'numorder.txt';
$searchfor = 'aullah1';

header('Content-Type: text/plain');

$contents = file_get_contents($file);
$pattern = preg_quote($searchfor, '/');
$pattern = "/^.*$pattern.*$/m";

if (preg_match_all($pattern, $contents, $matches)) {
  echo "Found matches:\n";
  echo implode("\n", $matches[0]);
} else {
  echo "No matches found";
}
?>
Copier après la connexion

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal