'stripslashes()'的用法

时间:2013-07-25 14:01:50

标签: php

当我将记录插入数据库时​​,我得到反斜杠,我想知道在哪里放置stripslashes函数来处理它们。

这是绑定他们的东西。

$st->bindValue( ":content", $this->content, PDO::PARAM_STR );

这是另一个存储所有参数并解析并存储日期的函数,因此我认为它可以对字符串执行相同的操作。

public function storeFormValues ( $params ) {

    // Store all the parameters
    $this->__construct( $params );

    // Parse and store the publication date
    if ( isset($params['publicationDate']) ) {
        $publicationDate = explode ( '-', $params['publicationDate'] );

        if ( count($publicationDate) == 3 ) {
            list ( $y, $m, $d ) = $publicationDate;
            $this->publicationDate = mktime ( 0, 0, 0, $m, $d, $y );
        }
    }
    if(get_magic_quotes_gpc()) {
       $content = stripslashes($content);
    }
}

我无法在php.ini中关闭魔术引号,因为我正在使用雅虎网络托管(不是我的选择)

1 个答案:

答案 0 :(得分:3)

你可以在不编辑php.ini的情况下关闭魔术报价gpc。您可以使用以下代码将其关闭。

<?php
if (get_magic_quotes_gpc()) {
    $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
    while (list($key, $val) = each($process)) {
        foreach ($val as $k => $v) {
            unset($process[$key][$k]);
            if (is_array($v)) {
                $process[$key][stripslashes($k)] = $v;
                $process[] = &$process[$key][stripslashes($k)];
            } else {
                $process[$key][stripslashes($k)] = stripslashes($v);
            }
        }
    }
    unset($process);
}
?>

来源:php.net/manual/en/security.magicquotes.disabling.php