gpt4 book ai didi

php - 如何使用 php 脚本计算 .doc 文件中的单词数?

转载 作者:行者123 更新时间:2023-12-02 15:31:51 24 4
gpt4 key购买 nike

我试过很多东西,比如 How to extract text from word file .doc,docx,.xlsx,.pptx php .但这不是解决方案。

我的服务器是基于 Linux 的,因此启用 extension=php_com_dotnet.dll 不是解决方案。

另一种解决方案是在服务器上安装 LIBRE office 并将 .doc 文件即时转换为 .txt,然后计算该文件中的字数。这是一项非常繁琐且耗时的工作。

我只需要一个简单的 php 脚本,它可以从 .doc 文件中删除特殊字符并计算字数。

最佳答案

您可以尝试使用这个声称能够将 .doc.docx 文件转换为文本格式的 PHP 类。

http://www.phpclasses.org/package/7934-PHP-Convert-MS-Word-Docx-files-to-text.html

根据给出的示例,您可以这样使用它:

require("doc2txt.class.php");

$docObj = new Doc2Txt("test.docx");
//$docObj = new Doc2Txt("test.doc");

$txt = $docObj->convertToText();
echo $txt;

正如您所指出的,与许多其他库一样,这个库的核心功能是这样的:

<?php

function read_doc($filename)
{
$fileHandle = fopen($filename, "r");
$line = @fread($fileHandle, filesize($filename));
$lines = explode(chr(0x0D) , $line);
$outtext = "";
foreach($lines as $thisline)
{
$pos = strpos($thisline, chr(0x00));
if (($pos !== FALSE) || (strlen($thisline) == 0))
{
}
else
{
$outtext.= $thisline . " ";
}
}

$outtext = preg_replace("/[^a-zA-Z0-9\s\,\.\-\n\r\t@\/_()]/", "", $outtext);
return $outtext;
}

echo read_doc("sample.doc");

?>

我已经用 .doc 文件测试了这个函数,它似乎工作得很好。它需要对文档的最后部分进行一些修复(输出末尾仍会生成一些随机文本),但通过一些微调它可以正常工作。

编辑:你是对的,这个功能只适用于 .docx 文档(我测试的文档可能是使用相同的机制制作的)。保存一个扩展名为.doc的文件,这个功能不起作用!我现在能给你的唯一帮助是 . doc binary specifications link (here 是一个更完整的文件),您可以在其中实际查看二进制结构的制作方式并从中提取信息。我现在做不到,所以我希望其他人可以帮助您解决这个问题!

关于php - 如何使用 php 脚本计算 .doc 文件中的单词数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24653825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com