回答編集履歴
2
見直し
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
```php
|
2
2
|
<?php
|
3
3
|
|
4
|
-
$date = '2019
|
4
|
+
$date = '2019年5月13日';
|
5
5
|
$matches = [];
|
6
6
|
mb_regex_encoding("UTF-8");
|
7
7
|
if (preg_match('/^(\d+)\D+(\d+)\D+(\d+)\D+$/u', $date, $matches)) {
|
@@ -12,4 +12,5 @@
|
|
12
12
|
echo 'no match.';
|
13
13
|
}
|
14
14
|
```
|
15
|
-
数字と数字じゃないところと、っていう区切り方で強引に決着を付けてる。
|
15
|
+
数字と数字じゃないところと、っていう区切り方で強引に決着を付けてる。
|
16
|
+
質問文で年月日に直されたので、一応動作確認とった。
|
1
見直し
answer
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
```php
|
2
2
|
<?php
|
3
3
|
|
4
|
-
$date = '2019
|
4
|
+
$date = '2019月5月13日';
|
5
5
|
$matches = [];
|
6
6
|
mb_regex_encoding("UTF-8");
|
7
|
-
if (preg_match('/^(
|
7
|
+
if (preg_match('/^(\d+)\D+(\d+)\D+(\d+)\D+$/u', $date, $matches)) {
|
8
8
|
$year = $matches[1]; $month = $matches[2]; $day = $matches[3];
|
9
9
|
$dt = new DateTime($year . '/' . $month . '/' . $day);
|
10
10
|
echo $dt->format('Y-m-d');
|
11
11
|
} else {
|
12
12
|
echo 'no match.';
|
13
13
|
}
|
14
|
-
```
|
14
|
+
```
|
15
|
+
数字と数字じゃないところと、っていう区切り方で強引に決着を付けてる。
|