PHP如何利用正则表达式匹配替换以下类型

2024-12-01 07:21:34
推荐回答(1个)
回答1:

按照你的要求编写的把除字母外的其他空格替换成逗号的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