2013-10-18 28 views
-2

有沒有一種方法可以讓PHP從字符串中獲取月份。它們的長度有所不同,所以我不能使用substr。以下是我想要的一些例子。從不同長度的字符串獲取月份

iTunes的美國7月2013 - >七月

RDIO 2013年6月 - >六月

Spotify的流媒體2013年6月 - >月的各月

+0

使用正則表達式。 – Barmar

+0

什麼是正則表達式 –

+1

正則表達式用於匹配字符串中的模式。請參閱www.regular-expressions.info – Barmar

回答

2

使用正則表達式匹配:

preg_match('/January|February|March|April|May|June|July|August|September|October|November|December/', $string, $match); 
echo $match[0]; 
0

採取陣列,看看你的字符串包含月份

$montharray= array('January', 'February','March', 'April', 
        'May', 'June', 'July', 'August', 
        'September', 'October', 'November', 
       'December'); 
    for($i=0;i<count($montharray);$i++){ 
    $pos = strrpos($mystring, montharray[i]); 
     if ($pos === true) { 
      //found month 
      $month = montharray[i]; 
      break; 
      } 
    } 
+1

您的for循環假定數組從0開始索引,但它實際上是從1開始索引的。使用'foreach'來代替。 – Barmar

+1

另外,'strrpos'在找到匹配項時返回位置,而不是'true'。 – Barmar

相關問題