我在解决这个问题时遇到了一些麻烦。在逗号后面加上空格
我有以下的CSV字符串
hello world, hello world, hello
中间值有多余的空格。我正在修剪,使用
preg_replace('/()+/', ' ', $string)
该功能是优秀的,但它也删除逗号后面的空格。它成为..
hello world,hello world,hello
我想逗号后保留1个空白像这样
hello world, hello world, hello
我怎样才能做到这一点?
编辑:
使用preg_replace('/(?<!,) {2,}/', ' ', $string);
的建议,工作,但我遇到了另一个问题。当我使用超过1个空白逗号后的逗号后返回2个空格。
所以
hello world, hello world,hello
回报
hello world, hello world, hello
当我创建了CSV字符串数组的解决方案,并用于implode()
$string = "hello world, hello world,hello";
$val = preg_replace('/()+/', ' ', $string);
$val_arr = str_getcsv($val); //create array
$result = implode(', ', $val_arr); //add comma and space between array elements
return $result; // Return the value
现在,我得到hello world, hello world, hello
这也保证了空格在逗号后如果失踪。
它似乎工作,不知道是否有更好的方法。反馈意见:)
谢谢!它的工作原理,但我遇到了另一个问题,请参阅我的编辑 – CyberJunkie 2011-06-06 02:42:11
如果你摆脱检查逗号,正则表达式将完成你想要的 - preg_replace('/ {2,} /','',$ string ); – jfocht 2011-06-06 03:29:07
啊我看到谢谢。 – CyberJunkie 2011-06-06 15:14:28