Comment analyser correctement les fichiers .DOC en PHP et éviter les erreurs d'interprétation des caractères ?

Mary-Kate Olsen
Libérer: 2024-10-30 06:21:28
original
831 Les gens l'ont consulté

How to Properly Parse .DOC Files in PHP and Avoid Character Interpretation Errors?

Lecture de fichiers .DOC en PHP

La lecture de fichiers .DOC en PHP peut être difficile en raison de leur format binaire. Cependant, vous pouvez les analyser à l'aide du code fourni par quelqu'un, mais cela peut entraîner une interprétation incorrecte des caractères.

Pour résoudre ce problème, vous devez apporter la modification suivante :

<code class="php">$line = @fread($fileHandle, filesize($userDoc));
$lines = explode(chr(0x0A),$line);</code>
Copier après la connexion

Ce changement remplace le caractère chr(0x0D) par chr(0x0A). Windows stocke les nouvelles lignes sous la forme rn (retour chariot plus saut de ligne), tandis que les systèmes UNIX utilisent n (saut de ligne uniquement). En utilisant chr(0x0D), vous traitez le caractère de nouvelle ligne DOS/Windows, mais le fichier est stocké au format Unix.

De plus, considérez le code suivant pour lire les fichiers .docx en 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);

    $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;
}</code>
Copier après la connexion

Ce code :

  • Ouvre le fichier .docx sous forme d'archive ZIP.
  • Extrait le fichier "word/document.xml".
  • Analyse le contenu XML.
  • Supprime les balises et les caractères inutiles.
  • Renvoie le contenu du texte analysé.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!