0

Tagliare una stringa in PHP

Postato il 7 settembre 2011. Categoria Programmazione Tag php tutorial

Capita sovente di lavorare con stringe, di doverle manipolare per esempio per estrarre parti o suddividerle.
Vediamo come tagliare una stringa tramite i comandi substr ed explode.

SUBSTR

Il comando restituisce una parte della stringa che gli viene passata secondo i parametri impostati di partenza e lunghezza.

1
string substr ( string $string , int $start [, int $length ] )

il comando substr accetta come parametri la stringa da processare $string un numero intero come posizione di partenza $start e un altro intero $length che indica la lunghezza che deve essere tagliata.

Se la posizione di partenza è espressa da un numero positivo si inizia a contare da sinistra a destra nella stringa, se è negativa il contrario; viene restituita la parte di stringa dalla partenza in poi.

La lunghezza funziona in modo analogo: restituisce i caratteri da destra a sinistra se espressa da un numero positivo o il contrario, da sinistra a destra, se il numero è negativo.

Vediamo alcuni esempi:

1
2
3
4
5
6
7
8
9
<?php
$cut_string = substr("abcdef", 1);    // returns "bcdef"
$cut_string = substr("abcdef", -2);    // returns "ef"
$cut_string = substr("abcdef", -3, 1); // returns "d"
$cut_string = substr("abcdef", 0, -1);  // returns "abcde"
$cut_string = substr("abcdef", 2, -1);  // returns "cde"
$cut_string = substr("abcdef", 4, -4);  // returns false
$cut_string = substr("abcdef", -3, -1); // returns "de"
?>

EXPLODE

Il comando divide in un array la stringa che gli viene passata mediante un elemento che funge da divisore.

1
array explode ( string $delimiter , string $string [, int $limit ] )

La stringa $d è l’elemento che funge da divisore della a divisore della $string.

Se parametro $limit è fissato e positivo, verrà restituito un array che conterrà un massimo di elementi indicati dal parametro con l’ultimo elemento dell’array che contiene il resto della stringa.
Se il parametro limite è negativo, verrà restituito un array con tutti i componenti eccetto il numero di elementi indicati con $limit.
Se il parametro limite è zero, allora questo viene trattato come 1.

vediamo un esempio:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
$str = 'one|two|three|four';

// positive limit
print_r(explode('|', $str, 2));

/*
restituisce l'array
Array
(
    [0] => one
    [1] => two|three|four
)
*/


// negative limit (since PHP 5.1)
print_r(explode('|', $str, -1));

/*
restituisce l'array
Array
(
    [0] => one
    [1] => two
    [2] => three
)
*/

?>

Riferimenti
substr – php.net
explode – php.net

Leave a Comment





*