我有简单的表单发布到另一个文件。我遇到的问题是TEXTAREA字段。
在TEXTAREA表格中,我输入:
<h1 class="padlock">Member Login</h1>
,当使用PHP回显时,输出位于另一页上:
<h1 class=\"padlock\">Member Login</h1>
它会自动转义字符。我在另一个TEXTAREA框中显示输出。
我怎样才能使它完全相同?
答案 0 :(得分:1)
Magic Quotes已开启。
这是PHP的弃用功能。它用于转义所有传入的用户数据。您可以使用stripslashes()
获取原始数据:
if (get_magic_quotes_gpc()) {
$_POST['textareaname'] =stripslashes($_POST['textareaname']);
}
或将其应用于整个$ _POST数组:
function stripslashes_recursive($data){
if(is_array($data){
$new_data = array();
foreach($new_data as $key => $entry){
$new_data[$key] = stripslashes_recursive($entry);
}
return $new_data;
} else {
return stripslashes($data);
}
}
if (get_magic_quotes_gpc()) {
$stripped_postdata = stripslashes_recursive($_POST);
}
注意:递归函数用于支持发布数据中的数组。
答案 1 :(得分:0)
Ups ... stripslashes!
答案 2 :(得分:0)
在接受$ _POST变量的脚本顶部使用它:
if (get_magic_quotes_gpc()){
foreach ($_POST as $key=>$val){
$_POST[$key] = stripslashes($val);
}
}
某些版本的PHP会自动转义,这真的很痛苦。未来的版本没有。