我有两个PHP变量$consult_date_arr
和$consultationdate
。用户可以插入任何日期格式,目前考虑2014年12月22日或2014年12日22日。我想做的是编写一个爆炸函数,它应该适用于这两种条件,即两种日期格式。
$consult_date_arr=explode("/",$consultationdate);
$consult_date_arr=explode("-",$consultationdate);
爆炸函数应该是上面两个爆炸函数在功能上的组合,这样它就适用于这两种格式。如果有任何疑问,请告诉我。
提前谢谢。
尝试类似的东西
<?php
$date = '22/12/2014';
$keywords = preg_split("/[-,'/]+/", $date);
print_r($keywords);
?>
preg_split—通过正则表达式拆分字符串
参考
http://php.net/manual/en/function.preg-split.php
<?php
$dt = "1992-05-30";
//$dt = "1992/05/30";
function expld($date){
$date = str_replace("/", "-", $date);
$date = explode("-",$date);
return $date;
}
$newdate = expld($dt);
echo $newdate[0];
?>
您可以编写自定义函数并在其中调用爆炸
喜欢$string="-"OR"/"或者任何你想用爆炸的东西
function dateFormat($string,$date)
{
$consult_date_arr=explode($string,$consultationdate);
return $consult_date_arr;
}
您将需要正则表达式,在php中使用preg_match
。
<?php
$consult_date_arr;
$consultationdate = '22/12/2014';
if(preg_match('/['d]{2}-['d]{2}-['d]{4}/', $consultationdate)){
$consult_date_arr = explode('-', $consultationdate);
}else if(preg_match('/['d]{2}'/['d]{2}'/['d]{4}/', $consultationdate)){
$consult_date_arr = explode('/', $consultationdate);
}
var_dump($consult_date_arr);
?>
嗨,检查下面的代码,
<?php
if(!function_exists('date_explode')){
function date_explode($date){
$explode_date = array();
$delimiter = '';
if(strstr($date, '/')){
$delimiter = '/';
}elseif(strstr($date, '-')){
$delimiter = '-';
}
if(!empty($delimiter)){
$explode_date = explode($delimiter, $date);
}
return $explode_date;
}
}
$consult_date_arr=date_explode('22-12-2014');
print_r($consult_date_arr);
$consult_date_arr=date_explode('22/12/2014');
print_r($consult_date_arr);
?>
小提琴示例
附言:请进行验证,这是必须的,验证将防止您出现这种类型的问题