PHP表单在提交后转义html字段

时间:2014-12-09 12:49:22

标签: php html apache

我有以下问题。

我正在使用表单提交包含HTML标记的textarea。

<div style="width:100%;display:block;float:left;">
   <p>Name: <strong>test</strong><br />
   Address: <strong>address</strong><br />
   Date:<strong> 09/12/2014</strong></p>
</div>

但是,当我通过POST提交表单时,我得到以下结果:

   div style=width:100;display:block;float:left; pName: strongΓΕΩΡΓΙΑ ΙΩΑΝΝΗΣ ΓΕΩΡΓΙΑΔΗ/strongbr / Address: strongΟΔΟΣ ΠΕΝΤΕΛΗΣ 110 , 15231 ΜΑΡΟΥΣΙ, Greece/strongbr / Date:strong 09/12/2014/strong/p /div

PHP魔术引号关闭

当我在我的开发机器上尝试它时它工作正常,但现在我将它移动到专用服务器是不能正常工作。

你能帮忙吗?

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

使用htmlspecialchars($_POST['html'], ENT_QUOTES),当您再次回复它(来自数据库)时,请使用htmlspecialchars_decode($result['html'])

http://php.net/manual/en/function.htmlspecialchars.php

如果我使用:

<?php
if(isset($_POST['send'])){
    $html = htmlspecialchars($_POST['html']);
    echo $html;
    echo htmlspecialchars_decode($html);
}
?>
<form method="POST">
    <textarea name="html">

    </textarea>
    <input type="submit" name="send" value="Send" />
</form>

它有效,所以也许它与您的数据库有关?