2013-10-18 24 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

相关问题