按照你的要求编写的把除字母外的其他空格替换成逗号的PHP程序如下
$str="李连杰 Jet Li 关之琳 Marc-André Grondin 莫妮亚·肖克里 Charlotte St-Martin BB CC DD";
$newstr=preg_replace('/([\x{4e00}-\x{9fa5}a-z]+)\s+([\p{L}\p{So}\-]+\s+[\p{L}\p{So}\-]+)\s+/iu','$1,$2,',$str);
$newstr=preg_replace('/([\x{4e00}-\x{9fa5}a-z]+)\s+([\p{L}\p{So}\-]+\s+[\p{L}\p{So}\-]+)$/iu','$1,$2',$newstr);
echo $newstr;
?>
运行结果
李连杰,Jet Li,关之琳,Marc-André Grondin,莫妮亚·肖克里,Charlotte St-Martin,BB,CC DD