区分3种不同的字符串输出

时间:2014-12-27 15:55:35

标签: php

我正在从网站上抓取一个字符串,其输出可能是一个看起来像28.18的日期。 或者像18:00那样的时间或者像1:2那样的分数。如何检查刮下的字符串是否等于日期,时间或分数?分数永远不会超过一个字符。

1 个答案:

答案 0 :(得分:1)

<强> Live demo

您可以使用3个正则表达式模式来了解哪个模式与给定字符串匹配:

<?php
$subject = "1:1";

if(preg_match('/^\d+\.\d+$/', $subject)){ // Ex: 1.1
    echo "date";    
}else if(preg_match('/^\d\:\d$/', $subject)){ // Ex: 1:1
    echo "score";
}else if(preg_match('/^\d{2}\:\d{2}$/', $subject)){ // Ex: 01:00
    echo "time";
}
?>