当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《是否可以使用PHP在网页中显示RTF文件?》经验,为你挑选了1个好方法。

我有一个RTF文件,我希望在用户输入替换标签后在网页中显示.

我希望能够显示RTF文件,而不必在显示之前将其转换为某些内容.

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

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

echo $output;

danieltalsky.. 8

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

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

我建议你使用像RTF2HTML这样的命令行转换程序:http://sageshome.net/?w = download = soft/RTF2HTML.html

您需要在Web服务器上下载并安装此程序,允许用户将文件上载到临时目录,然后使用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并显示它们.不是一个坏策略.请注意,如果要在其他网页内显示内容,则可能需要删除头部,正文和其他可能的标记.



1> danieltalsky..:

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

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

我建议你使用像RTF2HTML这样的命令行转换程序:http://sageshome.net/?w = download = soft/RTF2HTML.html

您需要在Web服务器上下载并安装此程序,允许用户将文件上载到临时目录,然后使用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并显示它们.不是一个坏策略.请注意,如果要在其他网页内显示内容,则可能需要删除头部,正文和其他可能的标记.


是的,我得到了要求.而不是像其他人一样告诉他他是SOL,我想我会告诉他他是SOL,同时提供有机会工作的解决方案.我以为他只是不想自己实现RTF解析器.这样他就没必要了.
那个(我知道的疯狂)要求怎么样:"我希望能够显示RTF文件,而不必在显示之前将其转换为某些东西."?
推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有