- Home
- Categorie
- Coding e Sistemistica
- PHP
- [Stringhe] substr();
-
[Stringhe] substr();
Sintassi: string substr* ( string $string** , int $start** [, int $length** ] )*
substr è una funzione di PHP che restituisce parte della stringa $string, intercettata dai parametri $start ed $length.
$start localizza il carattere dal quale iniziare l'estrazione della porzione di stringa desiderata fino alla fine della stessa, mentre il parametro opzionale $length è il numero di caratteri da estrarre (o omettere come vedremo appresso).
Facciamo intanto un esempio senza utilizzare il parametro opzionale $length:
[php]$string = "abcdefg";
$string = substr ( $string, 1);
echo $string; // risultato: bcdefg[/php]
Come possiamo notare, esattamente come avviene per gli array, bisogna partire a fare il conteggio dalla posizione 0, che nel nostro esempio equivale ad a.
Se $start è invece un numero negativo, la funzione estrarra' una porzione di stringa partendo dal carattere $start individuato dalla fine della stringa:
[php]$string = "abcdefg";
echo substr ( $string, -2); // risultato: fg[/php]
Inseriamo adesso il parametro $length che, come detto, è il numero di caratteri da restituire partendo da $start:
[php]$string = "abcdefg";
echo substr($string, 1, 3); //risultato: bcd
echo substr($string, 0, 4); // risultato: abcd
echo substr($string, 0, 8); // risultato: abcdefg ($length puo' anche superare la lunghezza di $string)
echo substr($string, -1, 1); // risultato: g[/php]
Immettendo solo il valore di $start tra parentesi graffe è possibile estrarre anche un singolo carattere:
[php]$string{0} // risultato: a
$string{3} // risultato: c[/php]
Qualora $string sia inferiore o uguale a $start, la funzione restituirà FALSE.
Se $length è negativo, verranno omessi $length caratteri dalla fine di $string:
[php]$string = "abcdefg";
echo substr ($string, 2, -2); // risultato: cde
echo substr ($string, 1, -3); // risultato: bcd
echo substr ($string, -4, -2); // risultato: de[/php]
Bisogna fare attenzione a non far accavallare i valori di $start ed $length, al fine di evitare che come risultato si abbia una stringa vuota:
[php]$string = "abcdefg";
echo substr ($string, -2, -4) // si otterrà una stringa vuota dato che $start punta al carattere f ed $length al carattere d[/php]