The neat trick from Mr. Sherwood has only one ugly side-effect: If the "number" contained in the string is considerably large, you will end up with an int (or float) value that has nothing to do with the original number ...
You may use preg_replace instead:
$number_string = preg_replace('~^[0]*([1-9][0-9]*)$~','$1',$number_string);
This kills any leading zeros safely without changing any other data.
Hope this helps.
ltrim
(PHP 4, PHP 5)
ltrim — Strip whitespace (or other characters) from the beginning of a string
Opis
string ltrim
( string $str
[, string $charlist
] )
Strip whitespace (or other characters) from the beginning of a string.
Parametry
- str
-
The input string.
- charlist
-
You can also specify the characters you want to strip, by means of the charlist parameter. Simply list all characters that you want to be stripped. With .. you can specify a range of characters.
Zwracane wartości
This function returns a string with whitespace stripped from the beginning of str. Without the second parameter, ltrim() will strip these characters:
- " " (ASCII 32 (0x20)), an ordinary space.
- "\t" (ASCII 9 (0x09)), a tab.
- "\n" (ASCII 10 (0x0A)), a new line (line feed).
- "\r" (ASCII 13 (0x0D)), a carriage return.
- "\0" (ASCII 0 (0x00)), the NUL-byte.
- "\x0B" (ASCII 11 (0x0B)), a vertical tab.
Rejestr zmian
| Wersja | Opis |
|---|---|
| 4.1.0 | The charlist parameter was added. |
Przykłady
Przykład #1 Usage example of ltrim()
<?php
$text = "\t\tThese are a few words :) ... ";
$binary = "\x09Example string\x0A";
$hello = "Hello World";
var_dump($text, $binary, $hello);
print "\n";
$trimmed = ltrim($text);
var_dump($trimmed);
$trimmed = ltrim($text, " \t.");
var_dump($trimmed);
$trimmed = ltrim($hello, "Hdle");
var_dump($trimmed);
// trim the ASCII control characters at the beginning of $binary
// (from 0 to 31 inclusive)
$clean = ltrim($binary, "\x00..\x1F");
var_dump($clean);
?>
Powyższy przykład wyświetli:
string(32) " These are a few words :) ... " string(16) " Example string " string(11) "Hello World" string(30) "These are a few words :) ... " string(30) "These are a few words :) ... " string(7) "o World" string(15) "Example string "
ltrim
tanmar.de
06-May-2010 05:36
06-May-2010 05:36
Usamah M dot Ali (usamah1228 at gmail dot com)
04-Feb-2008 10:42
04-Feb-2008 10:42
For those who use right-to-left languages such as Arabic, Hebrew, etc., it's worth mentioning that ltrim() (which stands for left trim) & rtrim() (which stands for right trim) DO NOT work contextually. The nomenclature is rather semantically incorrect. So in an RTL script, ltrim() will trim text from the right direction (i.e. beginning of RTL strings), and rtrim() will trim text from the left direction (i.e. end of RTL strings).
John Sherwood
06-Aug-2006 07:13
06-Aug-2006 07:13
To remove leading/trailing zeroes (example: "0123.4560"), doing a += 0 is easier than trim tricks.
