Heim  >  Artikel  >  Backend-Entwicklung  >  Wie lese und extrahiere ich Text aus DOCX-Dateien in PHP?

Wie lese und extrahiere ich Text aus DOCX-Dateien in PHP?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-28 17:43:29210Durchsuche

How to Read and Extract Text from DOCX Files in PHP?

DOCX-Dateien in PHP lesen

Beim Versuch, DOCX-Dateien in PHP zu lesen, können Benutzer auf Schwierigkeiten stoßen, da in der Ausgabe verstümmelte Zeichen erscheinen. Dieses Problem entsteht hauptsächlich, weil DOCX-Dateien komprimierte Pakete sind, die eine spezielle Handhabung erfordern. Der folgende Code zeigt, wie DOCX-Dateien in PHP gelesen und verarbeitet werden:

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

Dieser Code verwendet die PHP-ZIP-Erweiterung, um die DOCX-Datei als Zip-Paket zu öffnen. Anschließend wird die Datei „word/document.xml“ im ZIP-Paket gefunden, die den Textinhalt des Dokuments enthält. Anschließend wird der Inhalt extrahiert und bereinigt, indem Tags ersetzt und HTML-Tags entfernt werden. Der resultierende Text kann dann nach Bedarf angezeigt oder bearbeitet werden.

Das obige ist der detaillierte Inhalt vonWie lese und extrahiere ich Text aus DOCX-Dateien in PHP?. 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