从 2018 年 10 月 22 日开始的正则表达式 preg_match_all 是什么?
what regex preg_match_all from this date 2018 October 22?
什么正则表达式 preg_match_all 从这个日期 2018 October 22
开始没有 "-"or "/" 但有 " "?
我想要 preg_match_all 这样的模式 2018 October 22
,而不是 2018-October-22
,而不是 2018/10/22
勾选这个regex
$date='2018-October-22';
$date2='2018/10/22';
$new_date=preg_replace('/[^a-z0-9]/i', ' ', $date);
$new_date2=preg_replace('/[^a-z0-9]/i', ' ', $date2);
print_r($new_date);
print_r($new_date2);
您需要 DateTime::createFromFormat
。这应该有效:
$date1 = DateTime::createFromFormat('!Y F j', '2018 October 22'); // OK
$date2 = DateTime::createFromFormat('!Y F j', '2018-October-22'); // Fail
!
表示将未解析的字段设置为1970/1/100:00的对应部分; j
是月份中没有前导零的日期,F
是完整的月份(因此 Feb
无效),Y
是四位数的年份.
什么正则表达式 preg_match_all 从这个日期 2018 October 22
开始没有 "-"or "/" 但有 " "?
我想要 preg_match_all 这样的模式 2018 October 22
,而不是 2018-October-22
,而不是 2018/10/22
勾选这个regex
$date='2018-October-22';
$date2='2018/10/22';
$new_date=preg_replace('/[^a-z0-9]/i', ' ', $date);
$new_date2=preg_replace('/[^a-z0-9]/i', ' ', $date2);
print_r($new_date);
print_r($new_date2);
您需要 DateTime::createFromFormat
。这应该有效:
$date1 = DateTime::createFromFormat('!Y F j', '2018 October 22'); // OK
$date2 = DateTime::createFromFormat('!Y F j', '2018-October-22'); // Fail
!
表示将未解析的字段设置为1970/1/100:00的对应部分; j
是月份中没有前导零的日期,F
是完整的月份(因此 Feb
无效),Y
是四位数的年份.