Hầu hết các trình duyệt sẽ không hiển thị nội dung RTF một cách đáng tin cậy. Có thể phân tích cú pháp RTF thành HTML và hiển thị nội dung HTML trên trang web của bạn.
Bạn cần một số loại chương trình để phân tích RTF và chuyển đổi nó thành HTML. Tôi cho rằng nó phải miễn phí. Tôi không biết bất kỳ phân tích RTF miễn phí đáng tin cậy hoặc RTF nào cho các thư viện HTML trong PHP.
tôi khuyên bạn nên sử dụng một chương trình chuyển đổi dòng lệnh như RTF2HTML: http://sageshome.net/?w=downloads/soft/RTF2HTML.html
Bạn sẽ cần phải tải về và cài đặt chương trình này trên máy chủ web của bạn, cho phép người dùng tải lên các tập tin vào một thư mục tạm, và sau đó gọi ứng dụng dòng lệnh từ PHP với 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);
Sau đó, phân tích các kết quả dưới dạng HTML và hiển thị chúng. Không phải là một chiến lược xấu. Lưu ý rằng có thể bạn sẽ cần xóa phần đầu, phần thân và các thẻ khác nếu bạn định hiển thị nội dung bên trong một trang web khác.
Mọi người đều cho rằng điều này là không thể, nhưng tôi hiểu Mark là gì sau đó. Đôi khi trình duyệt sẽ hiển thị nội dung PDF hoặc Word doc, được nhúng bên trong trình duyệt. Không chắc chắn tại sao nó đôi khi làm điều đó. Tôi nghĩ nội tuyến/đính kèm là điều duy nhất kiểm soát hành vi này. –
Liệu người dùng có cài đặt MS Word luôn không? –
CHÍNH XÁC !!!! Bạn hiểu những gì tôi sau. Tôi không thể đảm bảo rằng người dùng sẽ cài đặt Word. Đó là lý do tại sao tôi muốn hiển thị nội tuyến. Tôi đoán tôi sẽ phải chuyển đổi nó thành một cái gì đó khác như JPG. Cuối cùng tôi sẽ cần phải chuyển đổi nó sang PDF, nhưng đó là một vấn đề khác. – Mark