Для файла docx вы можете попробовать это
$zip = zip_open($file);
if (!$zip || is_numeric($zip)) return false;
while ($zip_entry = zip_read($zip)) {
if (zip_entry_open($zip, $zip_entry) == FALSE) continue;
if (zip_entry_name($zip_entry) != "word/document.xml") continue;
$content .= zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
zip_entry_close($zip_entry);
} // end while
zip_close($zip);
. Он извлечет документ DOCX в текст, потому что вы не можете получить только с помощью file_get_content
из php
* 1006. * И для файла DO C
if (($fh = fopen($file, 'rb')) !== false) {
$headers = fread($fh, 0xA00);
// read doc from 0 to 255 characters
$n1 = (ord($headers[0x21C]) - 1);
// read doc from 256 to 63743 characters
$n2 = ((ord($headers[0x21D]) - 8) * 256);
// read doc from 63744 to 16775423 characters
$n3 = ((ord($headers[0x21E]) * 256) * 256);
//read doc from 16775424 to 4294965504 characters
$n4 = (((ord($headers[0x21F]) * 256) * 256) * 256);
// Total length of text in the document
$textLength = ($n1 + $n2 + $n3 + $n4);
ini_set('memory_limit', '-1');
$extracted_plaintext = fread($fh, $textLength);
}
После того, как вы преобразуете его в текст, время, чтобы сканировать нужный текст, используя REGEX