Maison >développement back-end >tutoriel php >Comment rechercher et récupérer une ligne entière contenant des données spécifiques à partir d'un fichier texte à l'aide de PHP ?

Comment rechercher et récupérer une ligne entière contenant des données spécifiques à partir d'un fichier texte à l'aide de PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-19 22:52:02913parcourir

How to Find and Retrieve an Entire Line Containing Specific Data from a Text File Using PHP?

Recherche et récupération de lignes entières à partir d'un fichier texte en PHP

Dans ce scénario, vous souhaitez créer un script PHP qui identifie un élément spécifique données dans un fichier texte ("numorder.txt") et affiche la ligne complète contenant ces données. Plus précisément, vous cherchez à rechercher « aullah1 » et à afficher la ligne correspondante, qui doit apparaître comme « 2 aullah1 ».

Pour y parvenir, suivez ces étapes :

  1. Ouvrez le fichier texte : Utilisez file_get_contents(), en vous assurant que le fichier est accessible et lisible.
  2. Préparez le modèle de recherche : Échappez les caractères spéciaux dans la chaîne de recherche à l'aide de preg_quote (). Ensuite, créez un modèle d'expression régulière à l'aide de preg_quote pour faire correspondre la ligne entière contenant le terme de recherche.
  3. Recherchez les lignes correspondantes : Utilisez preg_match_all() avec le modèle préparé et le contenu du texte. pour récupérer toutes les lignes correspondantes.
  4. Sortir la ligne correspondante : Parcourez les correspondances et faites écho à la première correspondance, qui représentera la ligne contenant "aullah1". Le résultat sera affiché sous la forme "2 aullah1".

Voici un exemple de code illustrant ces étapes :

$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";
}
?>

Ce script recherchera "numorder.txt" dans le fichier " aullah1" et affiche la ligne entière contenant ces données, affichant "2 aullah1" comme résultat.

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:
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