-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");
}
?>

ユーザーが HTML コードを textarea に投稿すると、不正な形式の DOC 出力が発生する可能性があることを認識していると思いますので、エコーする前にstrip_tags()or htmlspecialchars()on を使用する必要があります。$_POST['textArea']

于 2012-09-11T06:45:56.780 に答える