PHP Conference Japan 2024

ltrim

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

ltrim從字串的開頭移除空白字元(或其他字元)

描述

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

從字串的開頭移除空白字元(或其他字元)。

如果沒有第二個參數,mb_ltrim() 將移除以下字元

  • " "ASCII SP 字元 0x20,一個普通的空格。
  • "\t"ASCII HT 字元 0x09,一個 Tab 字元。
  • "\n"ASCII LF 字元 0x0A,一個換行符號(換行)。
  • "\r"ASCII CR 字元 0x0D,一個歸位字元。
  • "\0"ASCII NUL 字元 0x00,一個 NUL 位元組。
  • "\v"ASCII VT 字元 0x0B,一個垂直 Tab 字元。

參數

string
輸入字串。
characters
可選的,也可以使用 characters 參數指定要移除的字元。只需列出所有需要移除的字元。使用 .. 可以指定遞增的字元範圍。

傳回值

此函式會傳回一個字串,其中已移除 string 開頭的空白字元。

範例

範例 #1 ltrim() 的使用範例

<?php

$text
= "\t\t這些是一些詞 :) ... ";
$binary = "\x09範例字串\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);

// 移除 $binary 開頭的 ASCII 控制字元
// (從 0 到 31,包含 31)
$clean = ltrim($binary, "\x00..\x1F");
var_dump($clean);

?>

上述範例會輸出

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
"

參見

  • trim() - 從字串的開頭和結尾移除空白字元(或其他字元)
  • rtrim() - 從字串的結尾移除空白字元(或其他字元)
新增附註

使用者提供的附註 3 個附註

84
tavi undersc 10 from yahoocom
9 年前
當使用 $character_mask 時,修剪會在第一個不在該遮罩上的字元停止。

所以在 $string = "Hello world" 範例中,使用 $character_mask = "Hdle",ltrim($hello, $character_mask) 的運作方式如下:
1. 檢查 "Hello world" 中的 H => 它在 $character_mask 中,因此移除它
2. 檢查 "ello world" 中的 e => 它在 $character_mask 中,因此移除它
3. 檢查 "llo world" 中的 l => 它在 $character_mask 中,因此移除它
4. 檢查 "lo world" 中的 l => 它在 $character_mask 中,因此移除它
5. 檢查 "o world" 中的 o => 它不在 $character_mask 中,結束函式

剩下的字串是 "o world"。

我希望這對某些人有幫助,因為我對這個函式感到困惑。
23
Usamah M dot Ali (usamah1228 at gmail dot com)
16 年前
對於使用由右至左語言(如阿拉伯語、希伯來語等)的人來說,值得一提的是,ltrim()(代表左修剪)和 rtrim()(代表右修剪)並非依上下文工作。其命名在語意上是錯誤的。因此,在 RTL 文字中,ltrim() 將從右側方向修剪文字(即 RTL 字串的開頭),而 rtrim() 將從左側方向修剪文字(即 RTL 字串的結尾)。
4
dzek dot remove_this at dzek dot eu
13 年前
各位,如果 += 0 有時會產生錯誤的值,而 preg_replace 會消耗 CPU,那麼請堅持使用該頁面上描述的主要函式,並使用
<?php
$value
= ltrim($value, '0');
?>
應該是最快和最可靠的。
我認為所有這些評論都可能誤導檢查此頁面的初學者 - 這有點像使用魔術技巧來重新發明輪子。
To Top