gpt4 book ai didi

php - 是否可以使用 PHP 在网页中显示 RTF 文件?

转载 作者:行者123 更新时间:2023-12-03 00:06:11 24 4
gpt4 key购买 nike

我有一个 RTF 文件,我想在将标签替换为用户输入后在网页中显示该文件。

我希望能够显示 RTF 文件,而无需在显示之前将其转换为其他格式。

现在每次我尝试它时,它都会弹出打开/保存框,即使我告诉它内联显示它:

header("Content-type: application/msword");
header("Content-Disposition: inline; filename=mark.rtf");
header("Content-length: " . strlen($output));

echo $output;

最佳答案

大多数浏览器无法可靠地显示 RTF 内容。可以将 RTF 解析为 HTML,然后在网页上显示 HTML 内容。

您需要某种程序来解析 RTF 并将其转换为 HTML。我假设它必须是免费的。我不知道 PHP 中有任何可靠的免费 RTF 解析或 RTF 到 HTML 库。

我建议您使用命令行转换程序,例如RTF2HTML:http://sageshome.net/?w=downloads/soft/RTF2HTML.html

您需要在网络服务器上下载并安装此程序,允许用户将文件上传到临时目录,然后使用 shell_exec() 从 PHP 调用命令行应用程序:

$html_output_path = '/path/for/processing/files/'
$html_output_filename = $username . $timestamp;
if (is_uploaded_file($_FILES['userfile']['tmp_name'])
{
shell_exec('rtf2html ' .
escapeshellarg($_FILES['userfile']['tmp_name']) . " " .
$html_output_path . $html_output_filename);
}
$html_to_display = file_get_contents($html_output_path .
$html_output_filename);

然后,将结果解析为 HTML 并显示它们。不错的策略。请注意,如果要在另一个网页中显示内容,您可能需要删除 head、body 和可能的其他标签。

关于php - 是否可以使用 PHP 在网页中显示 RTF 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/678192/

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