Membaca Fail DOCX dalam PHP
Apabila cuba membaca fail DOCX dalam PHP, pengguna mungkin menghadapi kesukaran dengan aksara bercelaru yang muncul dalam output. Isu ini timbul terutamanya kerana fail DOCX ialah pakej termampat yang memerlukan pengendalian khusus. Kod berikut menunjukkan cara membaca dan memproses fail DOCX dalam PHP:
<code class="php">function read_file_docx($filename){ $striped_content = ''; $content = ''; if(!$filename || !file_exists($filename)) return false; $zip = zip_open($filename); 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); //echo $content; //echo "<hr>"; //file_put_contents('1.xml', $content); $content = str_replace('</w:r></w:p></w:tc><w:tc>', " ", $content); $content = str_replace('</w:r></w:p>', "\r\n", $content); $striped_content = strip_tags($content); return $striped_content; } $filename = "filepath";// or /var/www/html/file.docx $content = read_file_docx($filename); if($content !== false) { echo nl2br($content); } else { echo 'Couldn\'t the file. Please check that file.'; }</code>
Kod ini menggunakan sambungan PHP ZIP untuk membuka fail DOCX sebagai pakej zip. Ia kemudiannya mencari fail "word/document.xml" dalam pakej zip, yang mengandungi kandungan teks dokumen. Kandungan tersebut kemudiannya diekstrak dan dibersihkan dengan menggantikan tag dan menanggalkan tag HTML. Teks yang terhasil kemudiannya boleh dipaparkan atau diproses mengikut keperluan.
Atas ialah kandungan terperinci Bagaimana untuk Membaca dan Mengekstrak Teks daripada Fail DOCX dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!