PHP для поиска текстового документа (.txt), захватить всю строку и номер строки - PullRequest
0 голосов
/ 02 сентября 2010

Спасибо, что нашли время, чтобы прочитать это, и я буду благодарен за каждый отдельный ответ, независимо от качества контента.:)

Я пытаюсь создать скрипт php, который ищет текстовый файл для конкретного текста.Человек вводит определенный текст в HTML-форме, и скрипт php должен искать этот конкретный текст в текстовом файле.

Значение поля ввода в HTML-форме - «имя пользователя» и в phpdocument переменная «$ username» представляет собой введенные данные, пример показан ниже:

$username = $_POST['username'];

Текстовый файл ниже называется «rank_order.txt»:

7 AULLAH1

13 SupremeGamer

13 AULLAH1

15 abc123

Если человек введет в HTML-форму «AULLAH1», я хотел бы, чтобы phpскрипт для захвата первой записи «AULLAH1» в текстовом файле (например, он должен захватывать первую строку, а не thrid, поскольку первая строка является первой записью, содержащей текст «AULLAH1»).Кроме того, когда человек вводит определенный текст, он не должен просто захватывать документ или текст, он должен захватывать всю строку: «7 AULLAH1» и помещать его в переменную php, возможно, что-то вроде «$ grabbed».«?Если это вообще возможно.

Кроме того, если он захватывает данные из строки 3, может ли переменная php представлять строку 3?Если данные извлекаются из строки 23, может ли переменная php представлять строку 23 (и если она извлекается из строки 1, может ли переменная php содержать число 1? И т.д ...)

Вся помощь приветствуетсяи я с нетерпением жду ваших ответов;благодарю вас.:) Если я ничего не объяснил четко и / или вы хотите, чтобы я объяснил более подробно, пожалуйста, ответьте.:)

Спасибо.

Ответы [ 2 ]

2 голосов
/ 02 сентября 2010

Несколько решений:

  1. Итерация по строкам документа, есть много статей с инструкциями по этому поводу, это позволит вам подсчитать строки. Для каждой строки проверьте с помощью регулярного выражения для строки, введенной пользователем

  2. Поиск по тексту документа с использованием регулярных выражений, preg_match() вернет позицию символа для того, что вы ищете. Как только вы узнаете позиции символов в тексте, который вы ищете, вы можете посчитать количество вхождений "\ n" (символа новой строки) перед позицией результатов поиска.

  3. Загрузить текст в базу данных, а затем использовать функцию поиска в базе данных, например, полнотекстовый поиск или оператор LIKE %...%, для поиска текста. Затем подсчитайте количество символов новой строки (\ n) до найденного текста для поиска.

2 голосов
/ 02 сентября 2010

fopen, fgets, fclose поведет вас в общем направлении и ознакомит вас с обработкой файлов в целом.

http://php.net/fgets

Попробуйте разбить пространство, чтобы получить столбцы.Как только вы освоитесь, вы можете сохранить данные в базе данных.

...