回答編集履歴

2

見直し

2019/05/13 12:32

投稿

退会済みユーザー
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- $date = '20195月13日';
7
+ $date = '20195月13日';
8
8
 
9
9
  $matches = [];
10
10
 
@@ -27,3 +27,5 @@
27
27
  ```
28
28
 
29
29
  数字と数字じゃないところと、っていう区切り方で強引に決着を付けてる。
30
+
31
+ 質問文で年月日に直されたので、一応動作確認とった。

1

見直し

2019/05/13 12:32

投稿

退会済みユーザー
test CHANGED
@@ -4,13 +4,13 @@
4
4
 
5
5
 
6
6
 
7
- $date = '20195月13日';
7
+ $date = '20195月13日';
8
8
 
9
9
  $matches = [];
10
10
 
11
11
  mb_regex_encoding("UTF-8");
12
12
 
13
- if (preg_match('/^([0-9]+)([0-9]+)([0-9]+)$/u', $date, $matches)) {
13
+ if (preg_match('/^(\d+)\D+(\d+)\D+(\d+)\D+$/u', $date, $matches)) {
14
14
 
15
15
  $year = $matches[1]; $month = $matches[2]; $day = $matches[3];
16
16
 
@@ -25,3 +25,5 @@
25
25
  }
26
26
 
27
27
  ```
28
+
29
+ 数字と数字じゃないところと、っていう区切り方で強引に決着を付けてる。