2013-04-12 105 views
0

我有這樣的字符串:獲得從字符串(正則表達式)一些文本

Lorem Ipsum Dolor Sir 2013-10-22 Lorem Ipsum Dolor...

我應該採取的日期?我只想要確定日期的部分文本(yyyy-mm-dd)。我試過preg_match,無法獲得文本的這一部分。

+1

什麼你試圖用'的preg_match()'?也許你很接近,快速解決可以解決它。給出一個起點是有幫助的。 – Wiseguy

回答

3
preg_match('/(\d{4}-\d{2}-\d{2})/', $text, $matches); 
echo $matches[1]; 

\d - any digit 
{4} require 4 of the previous match 
\d{4} - require 4 digits 
+0

謝謝!有用! – mcamara

1

圓括號內的匹配放在preg_match的第三個參數中,以便其中的第一項是整個匹配,而下一個是括號內的匹配。

preg_match("/(\d{4}-\d{2}-\d{2})/", $text, $regs); 
echo $regs[0]; // The whole match is in $regs[0] 
echo $regs[1]; // The match inside the 1. parenthesis is in $regs[1] 
1

你可以使用這個表達式:

$str = 'Lorem Ipsum Dolor Sir 2013-10-22 Lorem Ipsum Dolor...'; 
if (preg_match('/(\d{4}-\d{2}-\d{2})/', $str, $match)) 
    echo $match[1] . "\n";