質問するログイン新規登録

回答編集履歴

2

見直し

2019/05/13 12:32

投稿

退会済みユーザー
answer CHANGED
@@ -1,7 +1,7 @@
1
1
  ```php
2
2
  <?php
3
3
 
4
- $date = '20195月13日';
4
+ $date = '20195月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

見直し

2019/05/13 12:32

投稿

退会済みユーザー
answer CHANGED
@@ -1,14 +1,15 @@
1
1
  ```php
2
2
  <?php
3
3
 
4
- $date = '20195月13日';
4
+ $date = '20195月13日';
5
5
  $matches = [];
6
6
  mb_regex_encoding("UTF-8");
7
- if (preg_match('/^([0-9]+)([0-9]+)([0-9]+)$/u', $date, $matches)) {
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
+ 数字と数字じゃないところと、っていう区切り方で強引に決着を付けてる。