-1

假设我的 php 代码如下:

<form method="post" action="htmltortf.php">
<table>
    <tr>
            <td>Candidate Name:</td>
                <td colspan="3"><textarea cols="40" rows="10" name="textArea"><?php echo $var = isset($_POST['textArea']) ? $_POST['textArea'] : ''; ?></textarea></td>
         </tr>
            <tr>
                <td colspan="3"><input type="submit" name="submit" value="submit" /></td>
            </tr>
</table>
<?php
    if(isset($_POST['submit']))
    {                   
    header("Content-type: application/vnd.ms-word");
    header("Content-Disposition: attachment;Filename=html2doc.doc");
        }
?>

我需要的:

我希望当用户单击按钮提交时,它会生成到 Ms word 但对于 textArea 我不希望它像边框一样显示它的样式或......我只想显示它的值。例如: This is the textArea in the Ms word file.

问题:

当我转换它时,它仍然显示 textArea 的样式,如边框和滚动......

我不知道如何解决这个问题?请帮助我,

谢谢。

4

1 回答 1

0

尽管您没有创建有效的 Word (.doc) 文档 - 下载后它仍然可以作为普通的 Word 文件使用。

您的问题的解决方案:

<form method="post" action="htmltortf.php">
<table>
    <tr>
         <td>Candidate Name:</td>
         <td colspan="3">
<?php if(isset($_POST['submit'])): ?>
<?php echo $_POST['textArea']; // echo just the posted value ?>
<?php else: // or show textarea field ?>
             <textarea cols="40" rows="10" name="textArea"><?php echo $var = isset($_POST['textArea']) ? $_POST['textArea'] : ''; ?></textarea>
<?php endif ?>
        </td>
    </tr>
    <tr>
        <td colspan="3"><input type="submit" name="submit" value="submit" /></td>
    </tr>
</table>
<?php
if(isset($_POST['submit']))
{                   
    header("Content-type: application/vnd.ms-word");
    header("Content-Disposition: attachment;Filename=html2doc.doc");
}
?>

我假设您知道用户能够在 textarea 中发布 HTML 代码,这可能会导致格式错误的 DOC 输出,因此您可能应该在回显它之前使用strip_tags()htmlspecialchars()打开。$_POST['textArea']

于 2012-09-11T06:45:56.780 回答