ltrim

(PHP 4, PHP 5, PHP 7, PHP 8)

ltrimDizgenin başındaki boşlukları (veya diğer karakterleri) budar

Açıklama

ltrim(string $dizge, string $karakterler = " \n\r\t\v\x00"): string

Bu işlev dizge'nin başındaki boşlukları (veya diğer karakterleri) budar.

Bağımsız Değişkenler

dizge

Budanacak dizge.

karakterler

Seçimlik olarak, karakterler bağımsız değişkeni kullanılarak budanacak karakterler belirlenebilir. Basitçe budamak istediğiniz tüm karakterleri belirtin. .. kullanarak karakter aralığı belirtebilirsiniz.

Dönen Değerler

Bu işlev dizge'nin başındaki boşlukları budar. İkinci bağımsız değişken olmaksızın ltrim() sadece aşağıdaki karakterleri budayacaktır:

  • " " (ASCII 32 (0x20)), sıradan boşluk.
  • "\t" (ASCII 9 (0x09)), sekme.
  • "\n" (ASCII 10 (0x0A)), satırsonu.
  • "\r" (ASCII 13 (0x0D)), satırbaşı.
  • "\0" (ASCII 0 (0x00)), NUL-bayt.
  • "\v" (ASCII 11 (0x0B)), dikey sekme.

Örnekler

Örnek 1 - ltrim() örneği

<?php

$metin
= "\t\tBir kaç kelam :) ... ";
$ikil = "\x09Örnek dizge\x0A";
$selam = "Merhaba Dünya";
var_dump($metin, $ikil, $selam);

print
"\n";

$kırpık = ltrim($metin);
var_dump($kırpık);

$kırpık = ltrim($metin, " \t.");
var_dump($kırpık);

$kırpık = ltrim($selam, "aerMy");
var_dump($kırpık);

// $ikil'in başındaki ve sonundaki ASCII denetim karakterlerini budar
// (0'dan 31'e kadar, 0 ve 31 dahil)
$temiz = ltrim($ikil, "\x00..\x1F");
var_dump($temiz);

?>

Yukarıdaki örneğin çıktısı:

string(25) "            Bir kaç kelam :) ...  "
string(14) "    Örnek dizge
"
string(14) "Merhaba Dünya"

string(23) "Bir kaç kelam :) ...  "
string(23) "Bir kaç kelam :) ...  "
string(11) "haba Dünya"
string(13) "Örnek dizge
"

Ayrıca Bakınız

  • trim() - Dizgenin başındaki ve sonundaki boşlukları (veya diğer karakterleri) budar
  • rtrim() - Dizgenin sonundaki boşlukları (veya diğer karakterleri) budar

add a note add a note

User Contributed Notes 8 notes

up
84
tavi undersc 10 from yahoocom
9 years ago
When using a $character_mask the trimming stops at the first character that is not on that mask.

So in the $string = "Hello world" example with $character_mask = "Hdle", ltrim($hello, $character_mask) goes like this:
1. Check H from "Hello world" => it is in the $character_mask, so remove it
2. Check e from "ello world" => it is in the $character_mask, so remove it
3. Check l from "llo world" => it is in the $character_mask, so remove it
4. Check l from "lo world" => it is in the $character_mask, so remove it
5. Check o from "o world" => it is NOT in the $character_mask, exit the function

Remaining string is "o world".

I hope it helps someone as I had a confusing moment with this function.
up
21
Usamah M dot Ali (usamah1228 at gmail dot com)
16 years ago
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).
up
6
dzek dot remove_this at dzek dot eu
13 years ago
Guys, if += 0 is producing wrong values sometimes, and preg_replace is cpu consuming, then just stick to the main function described on that page, and use:
<?php
$value
= ltrim($value, '0');
?>
should be the fastest and most reliable.
I think all those comments can be misleading for begginers checking this page - it's sort of using magic tricks to reinvent the wheel.
up
-6
mroeling at exed dot nl
10 years ago
@scion4581

The problem is that the character mask (_stw in your case) isn't a literal string, but a character collection. So all characters within _stw are stripped. In your case this includes the w of weight also.
up
-6
Mauro
6 years ago
I noticed one thing.

Suppose you have to ltrim zeroes from strings like "015", "002", etc. and convert them back to numbers, eg. using intval.

Suppose you must convert to number "000" too.

In this case:

$trimmedString = ltrim('000', '0');

the value of $trimmedString would be NULL (and I think the docs should mention this).

Anyway, I initially thought I had to conditional check for this '000', but I found that intval(NULL) returns 0 (this thing is not in the docs of intval but is in a comment)
up
-21
John Sherwood
18 years ago
To remove leading/trailing zeroes (example: "0123.4560"), doing a += 0 is easier than trim tricks.
up
-15
juan at ecogomera dot com
10 years ago
+=0 not valid for something like 0000-5. Result is 0
up
-30
Mike
13 years ago
Keep in mind the amount of resources preg_replace() uses. 
I would suggest a simple if statement if you need to parse through large amounts of data. 
<?php
function remove_leading_zeros_from_number($number_string) {
 
$limit = 9000.1
  $temp
= $number
 
(float) $temp;
  if (
$number < $limit) {
   
$number += 0;
  } else {
   
preg_replace('~^[0]*([1-9][0-9]*)$~','$1',$number_string)
  }
}
?>

Code is untested, but probably sound.
To Top