逗號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個函數即非數組函數:)謝謝! –
歡迎您:) –