какое регулярное выражение preg_match_all с этой даты 2018 22 октября? - PullRequest
0 голосов
/ 22 октября 2018

что регулярное выражение preg_match_all с этой даты 2018 October 22 без "-" или "/", но с ""?Я хочу preg_match_all с шаблоном, подобным этому 2018 October 22, не похожим на 2018-October-22 и не похожим на 2018/10/22

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Вы хотите DateTime::createFromFormat вместо.Это должно работать:

$date1 = DateTime::createFromFormat('!Y F j', '2018 October 22'); // OK
$date2 = DateTime::createFromFormat('!Y F j', '2018-October-22'); // Fail

! означает установку непарсированных полей на соответствующую часть 1970/1/1 00:00;j - это день месяца без начальных нулей, F - полный месяц (поэтому Feb недопустим), а Y - год в виде четырехзначного числа.

0 голосов
/ 22 октября 2018

Проверьте это 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);

Проверьте вывод здесь

...