Maison  >  Article  >  développement back-end  >  Comment lire des fichiers DOCX en PHP sans caractères superflus ?

Comment lire des fichiers DOCX en PHP sans caractères superflus ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-25 18:06:03799parcourir

How to Read DOCX Files in PHP without Extraneous Characters?

Comment lire des fichiers DOC en PHP

Lorsque vous essayez de lire des fichiers DOC ou DOCX en PHP, vous pouvez rencontrer des problèmes avec des caractères superflus dans la fin de votre texte. Cette erreur se produit car l'extrait de code fourni est incapable d'analyser correctement le format DOC.

Pour résoudre ce problème, nous devons légèrement modifier notre approche car PHP ne prend pas en charge l'analyse native des fichiers DOC. Au lieu de cela, nous utiliserons une méthode différente pour gérer les fichiers DOCX.

Code mis à jour pour la lecture des fichiers DOCX :

<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);

    $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>

Ce code mis à jour utilise la classe PHP ZipArchive pour ouvrez et lisez le contenu du fichier DOCX. Plus précisément, il extrait le fichier « word/document.xml » de l'archive ZIP, qui contient le contenu textuel réel.

En utilisant cette méthode, vous pouvez lire et analyser avec succès les fichiers DOCX en PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn