You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PHP从字符串中提取Arrival Date与Departure Date?

PHP提取字符串中的抵达日期和离开日期

需求说明

需要使用PHP从指定字符串中获取抵达日期(Arrival Date)和离开日期(Departure Date),给定目标字符串示例:

Guest Name :WOLAK, KAMIL - Arrival Date: 2022-09-29 - Departure Date: 2022-10-06 - Ref: H242806


方法一:正则表达式匹配(推荐)

利用正则精准匹配日期格式(YYYY-MM-DD),直接定位目标内容:

$str = "Guest Name :WOLAK, KAMIL - Arrival Date: 2022-09-29 - Departure Date: 2022-10-06 - Ref: H242806";

// 提取抵达日期
preg_match('/Arrival Date: (\d{4}-\d{2}-\d{2})/', $str, $arrivalMatches);
$arrivalDate = $arrivalMatches[1] ?? '未找到抵达日期';

// 提取离开日期
preg_match('/Departure Date: (\d{4}-\d{2}-\d{2})/', $str, $departureMatches);
$departureDate = $departureMatches[1] ?? '未找到离开日期';

// 输出结果
echo "抵达日期:" . $arrivalDate . PHP_EOL;
echo "离开日期:" . $departureDate . PHP_EOL;
  • 核心逻辑:通过正则捕获组提取日期标签后的字符串
  • 兼容处理:用??运算符处理匹配失败的情况,避免报错

方法二:分割字符串遍历提取

如果字符串格式固定,可通过分割后遍历筛选目标:

$str = "Guest Name :WOLAK, KAMIL - Arrival Date: 2022-09-29 - Departure Date: 2022-10-06 - Ref: H242806";

// 按"-"分割并去除每个元素的首尾空格
$parts = array_map('trim', explode('-', $str));

$arrivalDate = '未找到抵达日期';
$departureDate = '未找到离开日期';

foreach ($parts as $part) {
    // PHP 8.0+版本写法
    if (str_starts_with($part, 'Arrival Date:')) {
        $arrivalDate = trim(str_replace('Arrival Date:', '', $part));
    } elseif (str_starts_with($part, 'Departure Date:')) {
        $departureDate = trim(str_replace('Departure Date:', '', $part));
    }

    // PHP 8.0以下版本替换为:
    // if (strpos($part, 'Arrival Date:') === 0) {
    //     $arrivalDate = trim(str_replace('Arrival Date:', '', $part));
    // } elseif (strpos($part, 'Departure Date:') === 0) {
    //     $departureDate = trim(str_replace('Departure Date:', '', $part));
    // }
}

echo "抵达日期:" . $arrivalDate . PHP_EOL;
echo "离开日期:" . $departureDate . PHP_EOL;
  • 核心逻辑:将字符串分割为数组后,遍历判断元素是否包含日期标签,再提取标签后的内容

内容的提问来源于stack exchange,提问作者mohammed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 07:55:19