在PHP中使用正则表达式在特定空间中添加逗号

在PHP中使用正则表达式在特定空间中添加逗号,php,regex,Php,Regex,我只需要在4个分隔字符串之间的第一个和第三个空格处添加逗号。我使用下面的正则表达式,但这是在每个字符串后面添加, <?php $date = "Thursday November 3 2016"; $fdate = implode(", ", preg_split("/[\s]+/", $date)); echo $fdate; ?> 输出: 2016年11月3日,星期四 这是我需要得到的 2016年11月3日,星期四 您能告诉我如何解决这个问题吗?您使用正则表达式可能会使

我只需要在4个分隔字符串之间的第一个第三个空格处添加逗号。我使用下面的正则表达式,但这是在每个字符串后面添加

<?php

$date = "Thursday November 3 2016";
$fdate = implode(", ", preg_split("/[\s]+/", $date));

echo $fdate;
?>

输出:

2016年11月3日,星期四

这是我需要得到的

2016年11月3日,星期四


您能告诉我如何解决这个问题吗?

您使用正则表达式可能会使事情过于复杂-使用
strotime
怎么样

$date = "Thursday November 3 2016";
echo date('l, F j, Y',strtotime( $date ) );

使用正则表达式可能会使事情过于复杂-使用
strotime

$date = "Thursday November 3 2016";
echo date('l, F j, Y',strtotime( $date ) );

并不是说正则表达式是正确的工具,但这就是我使用正则表达式解决这个问题的方法:

$fdate = preg_replace("/(\w+) (\w+) (\d+) (\d+)/", "$1, $2 $3, $4", $date);

并不是说正则表达式是正确的工具,但这就是我使用正则表达式解决这个问题的方法:

$fdate = preg_replace("/(\w+) (\w+) (\d+) (\d+)/", "$1, $2 $3, $4", $date);

请解释您的代码以帮助他人理解并使您的答案更具建设性。请解释您的代码以帮助他人理解并使您的答案更具建设性。