1
を取得し、私は次のコードを持っている:(PHP)するpreg_matchにnullを取得する代わりに、空の文字列
$pattern = '(([a-z]{2})/)?(([a-z]{3,})/)?(\d{4}+)(/(\d{2})(/(\d{2}))?)?';
preg_match('#^' . $pattern . '$#i', '2010/12/01', $match);
$match = Array (
[0] => 2010/12/01
[1] =>
[2] =>
[3] =>
[4] =>
[5] => 2010
[6] => /12/01
[7] => 12
[8] => /01
[9] => 01
)
問題はその$の試合である[1]、$マッチ[2]、$マッチを[3 ]とマッチ[4]はstring(0)
、はの代わりにを得るために$pattern
を変更する方法はありますか?
どのバージョンのPHPをターゲットにしていますか? – webbiedave
あなたのソースはいつも 'YYYY/MM/DD'のように思っていましたか? – ajreal
なぜあなたはそれをnullにしたいのですか?私はこれは可能だと思いませんが、私たちは回避策を助けることができます。 – Galen