>  기사  >  백엔드 개발  >  불필요한 문자 없이 PHP에서 DOCX 파일을 읽는 방법은 무엇입니까?

불필요한 문자 없이 PHP에서 DOCX 파일을 읽는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-25 18:06:03799검색

How to Read DOCX Files in PHP without Extraneous Characters?

PHP에서 DOC 파일을 읽는 방법

PHP에서 DOC 또는 DOCX 파일을 읽으려고 할 때 다음 위치에서 관련 없는 문자 문제가 발생할 수 있습니다. 당신의 텍스트의 끝. 이 오류는 제공된 코드 조각이 DOC 형식을 올바르게 구문 분석할 수 없기 때문에 발생합니다.

PHP는 기본 DOC 파일 구문 분석을 지원하지 않으므로 이 문제를 해결하려면 접근 방식을 약간 수정해야 합니다. 대신 다른 방법을 사용하여 DOCX 파일을 처리하겠습니다.

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>

이 업데이트된 코드는 PHP ZipArchive 클래스를 사용하여 다음을 수행합니다. DOCX 파일의 내용을 열고 읽어보세요. 특히 실제 텍스트 내용이 포함된 ZIP 아카이브에서 "word/document.xml" 파일을 추출합니다.

이 방법을 사용하면 PHP에서 DOCX 파일을 성공적으로 읽고 구문 분석할 수 있습니다.

위 내용은 불필요한 문자 없이 PHP에서 DOCX 파일을 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.