Heim  >  Artikel  >  Backend-Entwicklung  >  Wie lese ich DOCX-Dateien in PHP ohne überflüssige Zeichen?

Wie lese ich DOCX-Dateien in PHP ohne überflüssige Zeichen?

Susan Sarandon
Susan SarandonOriginal
2024-10-25 18:06:03799Durchsuche

How to Read DOCX Files in PHP without Extraneous Characters?

So lesen Sie DOC-Dateien in PHP

Beim Versuch, DOC- oder DOCX-Dateien in PHP zu lesen, können Probleme mit überflüssigen Zeichen auftreten das Ende Ihres Textes. Dieser Fehler tritt auf, weil das bereitgestellte Code-Snippet das DOC-Format nicht korrekt analysieren kann.

Um dieses Problem zu beheben, müssen wir unseren Ansatz leicht ändern, da PHP das native Parsen von DOC-Dateien nicht unterstützt. Stattdessen verwenden wir eine andere Methode zur Verarbeitung von DOCX-Dateien.

Aktualisierter Code zum Lesen von DOCX-Dateien:

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

Dieser aktualisierte Code verwendet die PHP-ZipArchive-Klasse, um Öffnen und lesen Sie den Inhalt der DOCX-Datei. Konkret extrahiert es die Datei „word/document.xml“ aus dem ZIP-Archiv, die den eigentlichen Textinhalt enthält.

Mit dieser Methode können Sie DOCX-Dateien erfolgreich in PHP lesen und analysieren.

Das obige ist der detaillierte Inhalt vonWie lese ich DOCX-Dateien in PHP ohne überflüssige Zeichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn