假设我有以下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字,但对于textArea我不希望它显示它的样式,如border或...我只想显示的值it.eg:This is the textArea in the Ms word file
问题:
当我转换它时,它仍然显示textArea的样式,如border和scroll ...
我不知道如何解决这个问题?有人请帮助我,
感谢。
答案 0 :(得分: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']
,然后再回复它