如何用PHP函数拆分XML标签?

时间:2018-10-19 00:30:26

标签: php xml wordpress

我正在将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中实现吗?

1 个答案:

答案 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