0

我创建了一个静态网站(客户请求),我们在联系人页面中放置了一个电子邮件表单。表单运行良好并发送数据,但在收到的电子邮件中,我得到了 sam\'s clover\'s (Test Data) 如何清理静态网站中的数据以删除 \'s 并将其保留为 ' s 在电子邮件中。

我已经尝试使用我的关键字查找基于静态部分并没有真正找到任何运气。

任何帮助都会非常感谢这是我目前正在使用的变量。

$to = STRIP_TAGS($_POST['remail']);      
$from = STRIP_TAGS($_POST['semail']);   
$phone = STRIP_TAGS($_POST['sphone']);  
$subject = STRIP_TAGS($_POST['subject']);    
$message = STRIP_TAGS($_POST['message']);   
$headers = "From:" . $from; 
4

2 回答 2

1

使用stripslashes()

它取消引用带引号的字符串。就这样\'变成了'

$to = stripslashes($_POST['remail']);      
$from = stripslashes($_POST['semail']);   
$phone = stripslashes($_POST['sphone']);  
$subject = stripslashes($_POST['subject']);    
$message = stripslashes($_POST['message']);   
$headers = "From:" . $from; 

您也可以将其用于数组:

stripslashes_deep($array_name);

在这里阅读:http: //php.net/manual/en/function.stripslashes.php

于 2013-07-06T09:16:24.267 回答
0

你之后的是stripslashes(),但如果斜线是由 PHP 自动从魔术引号中添加的,那么你应该检查一下,这样你的脚本将在任何服务器上运行,而不仅仅是带有魔术引号的服务器。

这是一个回调函数,它将遍历所有受影响的全局变量并修复。您可以将此添加为初始化的一部分。

<?php 
function process_gpc(&$value, $key){
    //magic quotes fix
    if (get_magic_quotes_gpc()) {
        $key   = stripslashes($key);
        $value = stripslashes($value);
    }
    //null byte (string termination) protection
    $key   = str_replace(chr(0), '', $key);
    $value = str_replace(chr(0), '', $value);
}
$inputs = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST, &$_FILES);
array_walk_recursive($inputs, 'process_gpc');
?>
于 2013-07-06T09:21:12.603 回答