Найти текстовый текст в нескольких файлах документов Word

Я хочу создать модуль поиска, в котором пользователь вводит текст, и этот текст должен искать все файлы в определенном каталоге. Я использовал этот код:

$path_to_check = 'E:/xampp/htdocs/talent_orbit/test/'; $needle = 'test'; foreach(glob($path_to_check.'*.txt') as $filename) { //print_r(file($filename)); foreach(file($filename) as $fli=>$fl) { echo $f1; if(strpos($fl, $needle)!==false) { echo $filename.' on line '.($fli+1).': '.$fl; } } } 

Но он работает только для .txt-файла, он должен искать в .doc-файле. Я также изменяю glob($path_to_check.'*.txt') as $filename) для glob($path_to_check.'*.doc') as $filename) но он не показывает результат. Пожалуйста, помогите мне в этом.

РЕДАКТИРОВАТЬ :

Я также попытался решить это

 php > exec("egrep -rl 'string of what I want to find' full-or-relative-directory", $output); php > print_r($output); Array ( [0] => full-or-relative-directory/foo/bar.xml ) php > $contents = file_get_contents($output[0]); 

Он показывает Array (), я не знаю, что поставить между «полным или относительным каталогом», я имею в виду путь.

Мой код: –

 php > exec("egrep -rl 'rakesh' E:/xampp/htdocs/talent_orbit/test/", $output); php > print_r($output); 

Если это невозможно, можно ли преобразовать файл doc в txt-файл и затем выполнить поиск в этом txt-файле?

Заранее спасибо.

Это невозможно. Файл doc не является файлом « обычного текста ». Попробуйте открыть его в своем редакторе, и вы увидите. Поиск через *.txt и *.xml файлы будет работать, потому что это в основном все файлы открытого текста. Файл doc содержит в нем двоичные данные.

Решение будет представлять собой doc-парсер для PHP (например, этот ), но для этого потребуется сценарий, который проходит через файлы, открывает каждый файл с помощью синтаксического анализатора и ищет строку.