2014-12-09 26 views
0

我遇到以下問題。PHP表單提交後轉義html字段

我正在使用表單提交包含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魔術引號是關閉

當我想,我的開發機器上工作正常,但現在我把它移到了專用服務器上,因爲它應該沒有工作。

你能幫忙嗎?

+0

這是什麼意思,你會得到那個結果。你想要一個預填充的textarea,用戶需要更新其憑據? – vaso123 2014-12-09 12:54:25

+0

這不起作用。它返回與問題相同的結果。 – curiusX 2014-12-09 13:31:10

回答

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> 

它的工作原理,所以也許這是你的數據庫的東西?

+0

這不起作用。它返回與問題相同的結果。 – curiusX 2014-12-09 13:31:27

+0

@curiusX它可以在我的答案中發佈表單時使用(請參閱上面的更新回答)。所以也許這是你的數據庫導致問題?你確實逃避了崗位價值? – Refilon 2014-12-09 14:06:11

+0

Yeap。我終於發現內容過濾器正在運行,它是從.htaccess文件加載的。但是,我已經在另一臺服務器上測試了您的答案,並且正在運行,因此我會接受答案。 – curiusX 2014-12-09 17:41:17