逗号PHP,我想改变这个字符串:PHP截断字符串
",,,3,4,,,5,6,,7,8,"
到这一点:
"3,4,5,6,7,8"
我已经成功地剥离之初逗号和字符串的末尾,但这只能完成我需要的50%:
<?php
$hello = ",,,3,4,5,6,,7,8,";
echo rtrim(ltrim($hello,","),",");
结果:
"3,4,,,5,6,,7,8"
任何解决方案?
逗号PHP,我想改变这个字符串:PHP截断字符串
",,,3,4,,,5,6,,7,8,"
到这一点:
"3,4,5,6,7,8"
我已经成功地剥离之初逗号和字符串的末尾,但这只能完成我需要的50%:
<?php
$hello = ",,,3,4,5,6,,7,8,";
echo rtrim(ltrim($hello,","),",");
结果:
"3,4,,,5,6,,7,8"
任何解决方案?
您可以使用TRIM(),并至REGx实现这一点,请对下面的代码一看,它可以帮助你
$from = ",,,,,,3,4,,,5,6,,7,8,,,";
echo $from;
echo "<pre>";
$to = preg_replace('/,+/', ',', trim($from,","));
echo $to;
做这个小动作:
$hello = ",,,3,4,,,5,6,,7,8,";
$hello = implode(",",array_filter(explode(',',$hello)));
如果字符串是更复杂(也就是说,它是一个CSV这可能潜在有田裹“”逃避逗号,你可以这样做:
$hello = ",,,3,4,,,5,6,,\"I,have,commas\",,7,8,";
$fields = array_filter(str_getcsv($hello));
$hello = str_putcsv($fields);
凡str_putcsv
在https://gist.github.com/johanmeiring/2894568定义为
if (!function_exists('str_putcsv')) {
function str_putcsv($input, $delimiter = ',', $enclosure = '"') {
$fp = fopen('php://temp', 'r+b');
fputcsv($fp, $input, $delimiter, $enclosure);
rewind($fp);
$data = rtrim(stream_get_contents($fp), "\n");
fclose($fp);
return $data;
}
}
implode(",", array_filter(explode(",", ",,,3,4,,,5,6,,7,8,"))
这是一点点阅读,但基本上explode
在逗号上的字符串,请拨打array_filter
上的结果,然后implode
它回来。
谢谢您的答复。 :) –
我喜欢这个解决方案,因为它只需调用2个函数即非数组函数:)谢谢! –
欢迎您:) –