我正在制作一个脚本,通过大量的电子邮件寻找两个字符串.
它会发现been all shipped on [timestamp here]或shipped by the seller on [timestamp here].
现在我得到一个空匹配,$res[1]如果它只找到第二个字符串,并且$res[2]如果它只找到第一个字符串则为空.我如何解决这个问题,以便始终填写$res[1]所找到的时间戳?
if (preg_match("/been all shipped on ([0-9]{4}\.[0-9]{2}\.[0-9]{2} [0-9]{2}:[0-9]{2})|shipped by the seller on ([0-9]{4}\.[0-9]{2}\.[0-9]{2} [0-9]{2}:[0-9]{2})/", strip_tags($message), $res)) {
}
Run Code Online (Sandbox Code Playgroud)
您必须隔离时间戳并将其余内容置于交替中:
"/(?:been all shipped|shipped by the seller) on (\d{4}\.\d{2}\.\d{2} \d{2}:\d{2})/"
Run Code Online (Sandbox Code Playgroud)
