我有這個字符串:000 003
,發佈更多評論後可以立即增加。在300條評論之後,此字符串將如下所示:000 303
。經過1 000條評論,001 303
等。我使用chunk_split()
在前3個前導零後面添加空格。用跨度元素替換前導零點
我想用<span class="color-gray">the zeros here</span>
替換前導零,但我無法修復它。這裏的功能看起來像此刻:
function format_id($string) {
if($string < 10) {
$test = chunk_split('00000'.$string, 3, ' ');
} elseif($string > 10 AND $string < 100) {
$test = chunk_split('0000'.$string, 3, ' ');
} elseif($string > 100 AND $string < 1000) {
$test = chunk_split('000'.$string, 3, ' ');
} elseif($string > 1000 AND $string < 10000) {
$test = chunk_split('00'.$string, 3, ' ');
} elseif($string > 10000 AND $string < 100000) {
$test = chunk_split('0'.$string, 3, ' ');
} else {
$test = chunk_split($string, 3, ' ');
}
return preg_replace('/^0/', '$1', $test);
}
format_id(35)
回報00 003
。我希望它在HTML中看起來像這樣:<span class="color-gray-light">000 00</span>3
。只有零(如我所說)將在span
元素內。
我該如何解決這個問題?
爲什麼不能用[str_replace](http://php.net/manual/en/function.str-replace.php)去除空格,然後用戶[number_format](http:// php .net/manual/en/function.number-format.php)或/和[sprintf](http://php.net/manual/en/function.sprintf.php)? – Peon
我想你是什麼意思,爲什麼我不顯示這樣的數字:1 403 434等等。因爲我想它就像我在我的問題中顯示:) – Erik
https://stackoverflow.com/questions/1699958/formatting-a-number-with-leading-zeros-in-php? – Peon