Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Cari dan Paparkan Baris Tertentu daripada Fail Teks Menggunakan PHP?

Bagaimanakah Saya Boleh Cari dan Paparkan Baris Tertentu daripada Fail Teks Menggunakan PHP?

Barbara Streisand
Barbara Streisandasal
2024-11-23 21:20:11209semak imbas

How Can I Find and Display Specific Lines from a Text File Using PHP?

Mencari Baris Tertentu dalam Fail Teks Menggunakan PHP

Senario:
Anda mempunyai fail teks yang mengandungi data berbilang talian yang dikemas kini secara berkala. Anda perlu mencari fail untuk sekeping data tertentu dan memaparkan keseluruhan baris yang sepadan.

Penyelesaian:
Untuk mencari dalam fail teks dan mendapatkan keseluruhan baris yang sepadan, ikuti langkah-langkah ini menggunakan PHP:

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

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

// Read the file contents
$contents = file_get_contents($file);

// Escape special characters in the search phrase
$pattern = preg_quote($searchfor, '/');

// Create a regular expression to match the entire line
$pattern = "/^.*$pattern.*$/m";

// Perform the search
if (preg_match_all($pattern, $contents, $matches)) {
    echo "Found matches:\n";
    echo implode("\n", $matches[0]);
} else {
    echo "No matches found";
}
?>

Penjelasan:

  • Fungsi file_get_contents membaca kandungan fail teks menjadi pembolehubah.
  • Fungsi preg_quote terlepas aksara khas dalam frasa carian, memastikan ia dianggap sebagai literal rentetan.
  • Ungkapan biasa /^.*$pattern.*$/m sepadan dengan keseluruhan baris yang mengandungi frasa carian ($pattern). Bendera m membolehkan carian berbilang baris.
  • Fungsi preg_match_all menjalankan carian, menyimpan sebarang padanan dalam tatasusunan $matches.
  • Padanan itu kemudiannya dipaparkan dengan mengulangi $matches[0 ] tatasusunan, yang mengandungi keseluruhan baris yang sepadan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Cari dan Paparkan Baris Tertentu daripada Fail Teks Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn