我正在使用javascript日期选择器,允许用户选择日期。但是,我还希望在进入数据库之前清理发布的日期数据。我在这里没有看到任何清理过滤器:http://us2.php.net/manual/en/filter.filters.sanitize.php
在进入数据库之前清理日期的最佳方法是什么?
这将是帖子的原始值:
$datepick = $_POST['date'];
// wich is 04/12/2014
然后我将其转换为数据库:
$date = date("Y-m-d", strtotime($datepick));
谢谢!
答案 0 :(得分:11)
如果您的约会对象是" 03/02 / 2014"然后你可以通过regexp简单地清理你的变量:
$date = preg_replace("([^0-9/])", "", $_POST['date']);
这只允许数字(0-9)和fwd斜线(/)。
答案 1 :(得分:4)
格式化日期会对其进行清理,因为:
这是真的:
DateTime::format
DateTimeImmutable::format
DateTimeInterface::format
date_format()
Date($format, $date_string)
答案 2 :(得分:0)
此表达式可用于支持12/12/2016和12-12-1993格式。
filter_var (preg_replace("([^0-9/] | [^0-9-])","",htmlentities($input)));