Is it possible to display an RTF file inside a web page using PHP?

后端 未结 7 1727
长情又很酷
长情又很酷 2020-12-03 08:27

I have an RTF file that I want to display inside a web page after tags have been replaced with user input.

I would like to be able to display the RTF file without

相关标签:
7条回答
  • 2020-12-03 08:52

    Most browsers won't reliably display RTF content. It IS possible to parse the RTF into HTML, and display the HTML content on your web page however.

    You need some kind of program to parse RTF and convert it to HTML. I'm assuming it has to be free. I do not know of any reliable free RTF parsing or RTF to HTML libraries in PHP.

    I recommend you use a command-line conversion program like RTF2HTML: http://sageshome.net/?w=downloads/soft/RTF2HTML.html

    You would need to download and install this program on your webserver, allow the user to upload the file to a temp directory, and then call the command line application from PHP with shell_exec():

    $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);
    

    Then, parse the results as HTML and display them. Not a bad strategy. Note that you will probably need to remove the head, body and possibly other tags if you're going to display the content inside another web page.

    0 讨论(0)
提交回复
热议问题