我正在将XML标记导入WordPress
<inspection>21-Oct-2018 10:30AM to 10:50AM</inspection>
我需要使用PHP将日期和时间分成两个单独的字段
所以
Field 1 = 21 Oct 2018
Field 2 = 10:30am to 10:50am
我知道这是一个非常广泛的问题,但是有人知道如何在PHP中实现吗?
答案 0 :(得分:0)
这真的不是一个优雅的解决方案,但是,如果检查日期从未真正偏离其显示方式,它会起作用。
$str = "<inspection>21-Oct-2018 10:30AM to 10:50AM</inspection>";
preg_match('/(\d+\-[A-Za-z]+\-\d{4})\s(.+\s.+\M)/',$str,$temp);
echo $temp[1]."\n";
echo $temp[2]."\n";
输出
21-Oct-2018
10:30AM to 10:50AM
使用https://regex101.com/来解释正则表达式,因为我不能以我的解释来做到这一点。
希望这会有所帮助。
功能:
function sep_times($str){
preg_match('/(\d+\-[A-Za-z]+\-\d{4})\s(.+\s.+\M)/',$str,$temp);
return $temp;
}
使用:
$variable = sep_times($your_xml_string); //"<inspection>21-Oct-2018 10:30AM to 10:50AM</inspection>"
echo $variable[0]; //outputs 21-Oct-2018 10:30AM to 10:50AM
echo $variable[1]; //outputs 21-Oct-2018
echo $variable[2]; //outputs 10:30AM to 10:50AM