W3docs

ltrim()

Articolo sulla funzione PHP ltrim(), usata per rimuovere spazi bianchi o altri caratteri specificati dall'inizio di una stringa.

La funzione PHP ltrim() rimuove gli spazi bianchi (o altri caratteri specificati) dal lato sinistro — l'inizio — di una stringa. La "l" sta per left (sinistra). È il corrispettivo di rtrim(), che elimina i caratteri da destra, e di trim(), che li elimina da entrambi i lati.

ltrim() è particolarmente utile quando è necessario normalizzare un input che non si controlla completamente: spazi iniziali nei campi di un modulo, zeri iniziali negli identificatori o separatori iniziali rimasti dopo la suddivisione o la concatenazione di stringhe.

Sintassi

ltrim(string $string, string $characters = " \n\r\t\v\0"): string
ParametroDescrizione
$stringLa stringa di input da cui rimuovere i caratteri.
$charactersOpzionale. L'insieme di caratteri da eliminare. Ogni carattere viene trattato singolarmente — l'ordine non ha importanza. Se omesso, viene utilizzato l'insieme predefinito di spazi bianchi.

La funzione restituisce una nuova stringa; quella originale non viene mai modificata (le stringhe PHP sono passate per valore).

Il set di caratteri predefinito

Quando si chiama ltrim() con un solo argomento, vengono rimossi i seguenti caratteri da sinistra:

  • " " (spazio ordinario)
  • "\t" (tabulazione)
  • "\n" (a capo)
  • "\r" (ritorno a capo)
  • "\0" (byte NUL)
  • "\v" (tabulazione verticale)

Rimozione degli spazi iniziali

L'uso più comune è la pulizia degli spazi bianchi iniziali:

php— editable, runs on the server

Output:

[Hello World!   ]

Si noti che gli spazi finali rimangono — ltrim() opera solo sul lato sinistro. Le parentesi quadre [ e ] sono aggiunte semplicemente per rendere visibili i confini nell'output.

Rimozione di caratteri specifici

Passa un secondo argomento per rimuovere un insieme personalizzato di caratteri al posto degli spazi bianchi. Un caso classico è l'eliminazione degli zeri iniziali:

<?php
echo ltrim("0042", "0");      // 42
echo "\n";
echo ltrim("xxxHello", "x");  // Hello
?>

Output:

42
Hello

L'argomento $characters è un insieme, non una sottostringa. Ogni carattere elencato viene rimosso in modo indipendente, quindi ltrim($line, ".,") elimina qualsiasi combinazione iniziale di punti e virgole:

<?php
$line = "...,.,Hello, World";
echo ltrim($line, ".,");  // Hello, World
?>

Output:

Hello, World

La funzione si ferma al primo carattere che non appartiene all'insieme (H in questo caso), lasciando intatto il , interno in Hello, World.

Errori comuni

  • Non è una rimozione di sottostringa. ltrim("hello", "he") rimuove sia il carattere h sia e, restituendo "llo" — non ricerca il prefisso letterale "he". Per eliminare un prefisso noto, usa str_replace() sulla prima occorrenza oppure substr().
  • Basato sui byte, non compatibile con Unicode. ltrim() opera sui byte, quindi può corrompere caratteri UTF-8 multibyte se li elenchi in $characters. Per l'ASCII è del tutto sicuro; per rimuovere caratteri multibyte, usa un pattern preg_replace() con il modificatore u.
  • Restituisce una copia. Assegna il risultato di nuovo se vuoi conservarlo: $s = ltrim($s);.

Quale funzione usare

EsigenzaFunzione
Rimuovere dall'inizioltrim()
Rimuovere dalla finertrim()
Rimuovere da entrambi i latitrim()

Per un'introduzione più ampia alla gestione delle stringhe in PHP, consulta PHP Strings.

Esercitazione

Pratica
Qual è la funzione principale di ltrim() in PHP?
Qual è la funzione principale di ltrim() in PHP?
Was this page helpful?